Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LENGUAJE SQL
SQL es el lenguaje fundamental de los SGBD relacionales. Se trata de uno de los
lenguajes ms utilizados de la historia de la informtica. Es sin duda el lenguaje
fundamental para manejar una base de datos relacional. SQL es un lenguaje
declarativo en lo que lo importante es definir qu se desea hacer, por encima de
cmo hacerlo (que es la forma de trabajar de los lenguajes de programacin de
aplicaciones como visual BASIC, C o Java). Con este lenguaje se pretenda que
las instrucciones se pudieran escribir como si fueran rdenes humanas; es decir,
utilizar un lenguaje lo ms natural posible. De ah que se le considere un lenguaje
de cuarta generacin. Se trata de un lenguaje que intenta agrupar todas las
funciones que se le pueden pedir a una base de datos, por lo que es el lenguaje
utilizado tanto por administradores como por programadores o incluso usuarios
avanzados.
Componentes de un entorno de ejecucin SQL
Segn la normativa ANSI/ISO cuando se ejecuta SQL, existen los siguientes
elementos a tener en cuenta en todo el entorno involucrado en la ejecucin de
instrucciones SQL:
Un agente SQL. Entendido como cualquier elemento que cause la
ejecucin de instrucciones SQL que sern recibidas por un cliente SQL
Una implementacin SQL. Se trata de un procesador software capaz de
ejecutar las instrucciones pedidas por el agente SQL. Una implementacin
est compuesta por:
Un cliente SQL. Software conectado al agente que funciona como interfaz
entre el agente SQL y el servidor SQL. Sirve para establecer conexiones
entre s mismo y el servidor SQL.
Un servidor SQL (puede haber varios). El software encargado de manejar
los datos a los que la instruccin SQL lanzada por el agente hace
referencia. Es el software que realmente realiza la instruccin, los datos los
devuelve al cliente.
El DML
(Data Manipulation Language), lenguaje de manipulacin de datos, nos
permite recuperar los datos almacenados en la base de datos y tambin incluye
rdenes para permitir al usuario actualizar la base de datos aadiendo nuevos
datos, suprimiendo datos antiguos o modificando datos previamente almacenados.
Comandos DML
COMANDO
DESCRIPCIN
SELECT
INSERT
DELETE
UPDATE
CLAUSULAS:
WHERE
Especifica una condicin que debe cumplirse para que los datos sean
devueltos por la consulta. Admite los operadores lgicos AND y OR.
OPERADORES LGICOS
Hay tres operadores lgicos en SQL:
AND
OR
SIGNIFICADO
+ (sumar)
Suma
- (restar)
Resta
* (multiplicar)
Multiplicacin
/ (dividir)
Divisin
% (Mdulo)
Tambin se pueden utilizar los operadores de suma (+) y resta (-) para realizar
operaciones aritmticas sobre valores datetime y smalldatetime.
Los operadores relacionales vinculan un campo con un valor para que SQL Server
compare cada registro (el campo especificado) con el valor dado.
GUIA DE
EJERCICIOS
COMADOS SQL:
DDL:
Create:
1. create database clinicas
2. use clinicas
3.
4.
DML:
1.
2.
3.
4.
5.
6. Agregar un modulo
temp.Close
txtpacnom.Text = ""
Set temp = New ADODB.Recordset
txtpacape.Text = ""
consulta = "SELECT * FROM pacientes where
txtpacpadre.Text = ""
pacide='" & txtpacide.Text & "'"
txtpacmadre.Text
= ""
Private
Sub CMBGUARDAR_Click()
conectar
txtpacfechn.Text
=
Date
temp.Close
Set temp = New ADODB.Recordset
txtpacdir.Text
=
""
Set temp = New ADODB.Recordset
temp.CursorLocation
= adUseClient
cbpacsex.Text
consulta
= "SELECT=*"F"
FROM pacientes where pacide='"
& txtpacide.Text
& "'"
temp.Open consulta, base
txtpacobs.Text = ""
conectar
If temp.RecordCount > 0 Then
consulta
= "SELECT
* FROM
Set temp
= New
ADODB.Recordset
txtpacnom.Text = temp!pacnom
pacientes"
temp.CursorLocation = adUseClient
txtpacape.Text = temp!pacape
conectar
temp.Open consulta, base
txtpacpadre.Text = temp!pacpadre
Set temp = New =
ADODB.Recordset
If temp.RecordCount
0 Then
txtpacmadre.Text = temp!pacmadre
temp.CursorLocation = adUseClient
temp.Close
txtpacfechn.Text = temp!pacfechn
temp.Open
consulta,
base
consulta
= "insert
into pacientes
txtpacdir.Text = temp!pacdir
txtreg.Text
=
temp.RecordCount
(pacide,pacnom,pacape,pacpadre,pacmadre,pacfechn,pacdir,pacsex,pacobs)values
('" &
cbpacsex.Text
= temp!pacsex
CMBGUARDAR.Caption
=
"Guardar"
txtpacide.Text & "','" & txtpacnom.Text & "','" & txtpacape.Text
& "','"
& txtpacpadre.Text & "','" &
txtpacobs.Text
temp!pacobs
CMBBORRAR.Enabled
False
txtpacmadre.Text
& "','" & =
Format(txtpacfechn.Text,
"yy/mm/dd") &="','"
& txtpacdir.Text & "','" &
CMBGUARDAR.Caption = "Editar"
End Sub & "','" & txtpacobs.Text & "');"
cbpacsex.Text
CMBBORRAR.Enabled = True
base.Execute consulta
Else
limpiar
limpiar
MsgBox "datos guardados correctamente"
End If
Exit Sub
End Sub
Else
consulta = "update pacientes set pacnom='" & txtpacnom.Text & "',pacape='" & txtpacape.Text
& "',pacpadre='" & txtpacpadre.Text & "',pacmadre='" & txtpacmadre.Text & "',pacfechn='" &
Format(txtpacfechn.Text, "yy/mm/dd") & "',pacdir='" & txtpacdir.Text & "',pacsex='" &
Guardar
cbpacsex.Text & "',pacobs='" & txtpacobs.Text & "' where pacide='" & txtpacide.Text & "'"
base.Execute consulta
limpiar
MsgBox "datos actualizados correctamente"
Exit Sub
End If
End Sub
Borrar
Private Sub CMBBORRAR_Click()
temp.Close
Set temp = New ADODB.Recordset
consulta = "SELECT * FROM pacientes where pacide='" & txtpacide.Text & "'"
conectar
Set temp = New ADODB.Recordset
temp.CursorLocation = adUseClient
temp.Open consulta, base
If temp.RecordCount > 0 Then
temp.Close
If MsgBox("Esta seguro de eliminar el registro", vbQuestion + vbYesNo, "Cuidado") = vbYes
Then
consulta = "delete from pacientes where pacide='" & txtpacide.Text & "'"
base.Execute consulta
limpiar
MsgBox "Registro eliminado correctamente"
Exit Sub
End If
End If
End Sub
Ahora realizaremos una bsqueda e imprimir un reporte
1. Disear el siguiente formulario
Form_Load()
Private Sub Form_Load()
Set temp = New ADODB.Recordset
conectar
DataGrid1.Caption = "Lista de Pacientes"
consulta = "SELECT * FROM pacientes"
temp.CursorLocation = adUseClient
temp.Open consulta, base
Set DataGrid1.DataSource = temp
cbbus.Text = "Nombre"
End Sub
Text1_Change()
Private Sub Text1_Change()
If Text1.Text = "" Then
Form_Load
Else
If cbbus.Text = "Nombre" Then
temp.Close
Set DataGrid1.DataSource = Nothing
consulta = "select * from pacientes where pacnom like '%" &
Text1.Text & "%' "
temp.Open consulta, base
Set DataGrid1.DataSource = temp
Else
temp.Close
Set DataGrid1.DataSource = Nothing
consulta = "select * from pacientes where pacide like '%" &
Text1.Text & "%' "
temp.Open consulta, base
Set DataGrid1.DataSource = temp
End If
End If
End Sub