Académique Documents
Professionnel Documents
Culture Documents
SQL
Las consultas ms simple SQL requieren tuplas que satisfagan alguna condicin.
Estas consultas simples, como la mayora de las consultas SQL utilizan tres palabras reservadas, SELECT, FROM y WHERE.
La
clusula SELECT indica los atributos de las tuplas que se desean consultar. Esto es similar a una proyeccin en algebra relacional. (* indica todos los atributos).
Antes de comenzar a realizar consultas en SQL, se debe definir la base de datos y las relaciones que la conforman.
Es importante que antes de continuar haber ledo como acceder al monitor de mysql de la gua de ejercicios e investigar los tipos de datos soportados por Mysql.
5
Antes de empezar a definir las tablas, se debe poner en uso la base de datos a la que pertenecen Mysql> use Empresa;
CREATE TABLE nombre_table( lista de atributos (nombre y tipo del atributo), llaves o restricciones); Para indicar el trmino de una orden o comando en mysql se escribe ; Create table Proveedor( Vno varchar(3) not null primary key, Vnombe varchar(20), Status int, Ciudad varchar(15)); Si la llave primaria es simple su definicin puede ir en la misma lnea de la definicin del atributo seleccionado para ser llave. RECUERDEN QUE LAS LLAVES PRIMARIAS NO ACEPTAN VALORES NULOS, POR ESO LA DECLARACIN NOT NULL Cuando se utilizan tipos de datos carcter se escribe entre parntesis la longitud de los mismos.
10
La sentencia Insert es una solicitud para insertar una tupla. Insert into nombre_tabla (lista atributos) values (lista de valores);
11
Ejemplo:
Insert into Proveedor (Vno, Vnombre, Status, Ciudad) values (V1, Surez, 20, Guadalajara);
Nota: Si ya conocemos los atributos de la relacin y el orden en que estn definidos la consulta puede quedar de la siguiente manera: Insert into Proveedor values (V1, Surez, 20, Guadalajara);
12
Insert into Parte (Pno, Pnombre, Color, Peso, Ciudad) values (P1, Tuerca, Rojo, 12, Guadalajara); O Insert into Parte values (P1, Tuerca, Rojo, 12, Guadalajara);
13
Insert into Suministra (Vno, Pno, Cant) values (V1, P1, 300);
O Insert into Suministra values (V1, P1, 300);
14
Otra manera de introducir datos a las tablas, es creando un archivo txt, el cual debe ser almacenado en la carpeta bin de mysql, este archivo contendr las tuplas de una relacin, el conjunto de valores de los atributos debern ir en el orden definidos separados por tabulador.
15
Ejemplo:
Crear el archivo txt con 5 filas, cada valor debe estar separado por tabulador, guardar el archivo txt con el nombre datosProveedr.txt en la carpeta BIN de Mysql. El archivo lo pueden crear desde el bloc de notas.
16
Es importante que la base de datos este en USO. mysql> use Empresa; mysql>Load Data Infile datosProveedor.txt into table Proveedor;
17
Actualizando datos
En ciertas situaciones se puede desear cambiar un valor en una tupla sin cambiar todos los valores en la tupla. Para este propsito puede usarse la sentencia Update, se pueden elegir las tuplas que se van a actualizar usando una consulta. Update nombre_tabla set conjunto de atributos a modificar where condicin;
18
Ejemplos:
Suponer que el proveedor Camacho se traslada a la ciudad de Xalapa Update Proveedor set ciudad=Xalapa where Pnombre=Camacho;
El peso del tornillo azul ha sido modificado a 14 libras: Update Parte set Peso=14 where Pnombre=Tornillo and Color=Azul;
19
Para comprobar los cambios se efectan las siguientes consultas desde el monitor de mysql.
A) mysql> Select * > From Proveedor > Where Pnombre= Camacho; Y b) mysql> Select * > From Parte > Where Pnombre=Tornillo and Color=Azul;
20
Borrando tuplas
21
22
Delete from Proveedor; Si se ejecuta esta consulta se borran todas las tuplas de la relacin Proveedor.
23
Consultas
Recuerden que el Select es el proyectar del lgebra (si se pone el * indica que se quiere consultar la tupla completa)
24
V4
Lpez
20
Guadalajara
25
Obtener los suministros (Suministra) cuya cantidad est entre 300 y 750 inclusive.
26
V2 V3 V4
V4
P2 P2 P4
P5
27
Ciudad
Guadalajara Monterrey Mxico
29
JOIN
El concepto de tabla reunida (o relacin reunida) se incorpor en SQL para que los usuarios pudieran especificar una tabla resultante de una operacin de reunin en la clasula FROM de una consulta. Recuerden que para realizar el JOIN debe existir un atributo en comn entre las tablas participantes.
30
Obtener el nombre de los proveedores que suministran la pieza con el cdigo P4.
Select Vnombre From Proveedor JOIN Suministra ON Proveedor.Vno= Suministra.Vno Where Suministra.Pno=P4;
31
V4
P4
300
Vno V1 V4
Status 20 20
Pno P4 P4
32
Y el resultado de Select:
Vnombre
Surez Lpez
33
LIKE
MySQL posee capacidades estndar para utilizar patrones as como tambin una forma de patrones basada en expresiones regulares extendidas Los patrones SQL permiten emplear el carcter '_' para representar coincidencia con un carcter individual y '%' .
34
Encontrar los nombres de los proveedores cuya ciudad donde radican comience con G.
35
36
37
38
Encontrar los nombres de los proveedores que contengan exactamente 5 caracteres Utilizando el guion (_) por cada carcter .
39
40
Esta presentacin es una pauta para iniciar con el lenguaje SQL. Recuerden que tienen una gua de ejercicios y una antologa. As como cualquier libro de bases de datos que se encuentra en la bibliografa bsica del programa o un libro de mysql.
41