TUTORIAL SENETENCIAS DE LENGUAJE DE MANIPULACION DE BASE DEDATOS SQL
Enviado por lokus78 • 24 de Mayo de 2014 • 2.889 Palabras (12 Páginas) • 373 Visitas
TUTORIAL SENETENCIAS DE LENGUAJE DE MANIPULACION DE BASE DEDATOS SQL
El Lenguaje de Manipulación de datos es el que permite como su nombre lo indica manipular los datos
existentes en la base de datos, es decir insertar, eliminar, modificar o eliminar una fila de la tabla
SQL (Lenguaje de Manipulación de Datos)
• Introducción de información (INSERT)
• Consulta de información (SELECT)
o Consulta condicional (WHERE)
o Ordenación de la salida (ORDER BY)
o Evitar repetición en la salida (DISTINCT)
o Funciones de agregación (AVG, MAX, MIN, SUM, COUNT)
o Cuantificadores (SOME, ANY, ALL)
o Patrones en cadenas (LIKE)
o Renombramiento (AS)
o Combinación de consultas
o Operaciones sobre conjuntos (UNION, INTERSECT, EXCEPT)
o Consultas agrupadas (GROUP BY)
• Modificación de información (UPDATE)
• Borrado de información (DELETE)
Introducción o inserción de tuplas
INSERT INTO provincia VALUES (41,'SEVILLA');
INSERT INTO provincia VALUES (21,'HUELVA');
INSERT INTO provincia VALUES (28,'MADRID');
INSERT INTO provincia VALUES (8,'BARCELONA');
INSERT INTO provincia VALUES (23,'JAEN');
INSERT INTO alumno VALUES (4,'ANTONIO','PEREZ LOPEZ',22,41,6.5);
INSERT INTO alumno VALUES (3,'PABLO','SUAREZ GUERRA',25,21,7.8);
INSERT INTO alumno VALUES (82,'RAFAELA','PEREZ LOPEZ',19,8,4.3);
INSERT INTO alumno VALUES (9,'MARIO','BEATO SOLIS',22,28,5.1);
INSERT INTO alumno VALUES (2,'ANGELA','RODRIGUEZ JODAR',27,41,6.9);
INSERT INTO alumno VALUES (1,'JULIAN','BARCO SANDOVAL',26,41,6.5);
INSERT INTO alumno VALUES (8,'FRANCISCA','RAMIREZ MARTIN',25,41,3.5);
INSERT INTO alumno VALUES (12,'BENITO','GOTERA OTILIO',28,21,9.3);
Para que la inserción de una tupla sea válida deben satisfacerse las restricciones de clave, integridad y de otro tipo que pudieran existir. Obsérvese que en el ejemplo los valores del atributo añadido a los de la definición original de la tabla ocupan el último lugar en la lista de valores y que los valores de los atributos se especifican en el mismo orden en que fueron declarados los atributos. Si no se recuerda el orden de los atributos entonces se puede especificar en cualquier orden el nombre de cada atributo dentro de la sentencia INSERT de la siguiente manera:
INSERT INTO alumno (num,codprov,apellidos,nombre,nota,edad)
VALUES (12,21,'GOTERA OTILIO','BENITO',9.3,28);
No es necesario insertar tuplas individualmente de una en una sino que también pueden insertarse varias tuplas resultantes de una consulta.
Consulta
1. Listar todo el contenido de una tabla
SELECT * FROM provincia;
CODPROV NOMPROV
---------- --------------------
41 SEVILLA
21 HUELVA
28 MADRID
8 BARCELONA
23 JAEN
SELECT * FROM alumno;
NUM NOMBRE APELLIDOS EDAD CODPROV NOTA
------ ---------- -------------------- ------ -------- ------
4 ANTONIO PEREZ LOPEZ 22 41 6.5
3 PABLO SUAREZ GUERRA 25 21 7.8
82 RAFAELA PEREZ LOPEZ 19 8 4.3
9 MARIO BEATO SOLIS 22 28 5.1
2 ANGELA RODRIGUEZ JODAR 27 41 6.9
1 JULIAN BARCO SANDOVAL 26 41 6.5
8 FRANCISCA RAMIREZ MARTIN 25 41 3.5
12 BENITO GOTERA OTILIO 28 21 9.3
Observar que las tuplas se listan en la salida en el orden en que se hubieran introducido.
2. Selección de atributos concretos:
SELECT apellidos, nombre, edad FROM alumno;
APELLIDOS NOMBRE EDAD
-------------------- ---------- ----------
PEREZ LOPEZ ANTONIO 22
SUAREZ GUERRA PABLO 25
PEREZ LOPEZ RAFAELA 19
BEATO SOLIS MARIO 22
RODRIGUEZ JODAR ANGELA 27
BARCO SANDOVAL JULIAN 26
RAMIREZ MARTIN FRANCISCA 25
GOTERA OTILIO BENITO 28
3. Ordenación de la salida
SELECT * FROM provincia ORDER BY nomprov;
CODPROV NOMPROV
---------- --------------------
8 BARCELONA
21 HUELVA
23 JAEN
28 MADRID
41 SEVILLA
SELECT apellidos, nombre, edad FROM alumno ORDER BY edad;
APELLIDOS NOMBRE EDAD
-------------------- ---------- ----------
PEREZ LOPEZ RAFAELA 19
PEREZ LOPEZ ANTONIO 22
BEATO SOLIS MARIO 22
SUAREZ GUERRA PABLO 25
RAMIREZ MARTIN FRANCISCA 25
BARCO SANDOVAL JULIAN 26
RODRIGUEZ JODAR ANGELA 27
GOTERA OTILIO BENITO 28
Puede ordenarse tanto por valores alfabeticos como numéricos. Puede ordenarse de menor a mayor (orden ascendente, o ASC) o de mayor a menor (orden descendente, o DESC). Por defecto el orden considerado es de menor a mayor. La ordenación tiene asociado un cierto coste computacional por lo que solo debe realizarse cuando sea necesario.
4. Ordenación múltiple
SELECT apellidos, nombre FROM alumno ORDER BY edad DESC,
apellidos ASC, nombre ASC;
APELLIDOS NOMBRE
-------------------- ----------
GOTERA OTILIO BENITO
RODRIGUEZ JODAR ANGELA
BARCO SANDOVAL JULIAN
RAMIREZ MARTIN FRANCISCA
SUAREZ GUERRA PABLO
BEATO SOLIS MARIO
PEREZ LOPEZ ANTONIO
PEREZ LOPEZ RAFAELA
5. Condición simple
SELECT apellidos FROM alumno WHERE edad = 23;
SELECT apellidos FROM alumno WHERE edad != 23;
SELECT * FROM alumno WHERE edad BETWEEN 19 AND 25;
SELECT num FROM alumno WHERE nota IS NOT null;
SELECT num FROM alumno WHERE codprov IN (21, 41);
6. Condición compuesta
SELECT nota FROM alumno WHERE edad > 20 AND codprov = 41;
SELECT num FROM alumno
...