0% encontró este documento útil (0 votos)
89 vistas

Tutorial SQL-DML

Este documento presenta un tutorial sobre sentencias SQL para manipular datos (SQL-DML). Explica que SQL es un lenguaje declarativo que requiere ser empotrado en otro lenguaje de programación. Describe las cláusulas de las sentencias SELECT, INSERT, UPDATE y DELETE y provee ejemplos de su uso. El objetivo es complementar conceptos sobre manipulación de datos en bases de datos relacionales.

Cargado por

Diego Galeano
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
89 vistas

Tutorial SQL-DML

Este documento presenta un tutorial sobre sentencias SQL para manipular datos (SQL-DML). Explica que SQL es un lenguaje declarativo que requiere ser empotrado en otro lenguaje de programación. Describe las cláusulas de las sentencias SELECT, INSERT, UPDATE y DELETE y provee ejemplos de su uso. El objetivo es complementar conceptos sobre manipulación de datos en bases de datos relacionales.

Cargado por

Diego Galeano
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR DE INGENIERÍA DE SISTEMAS

FUNDAMENTOS DE BASES DE DATOS


Alba Consuelo Nieto

TUTORIAL SQL - DML

Objetivo: Este tutorial ha sido desarrollado para el curso de Fundamentos de Bases de Datos
con el fin de complementar la sintaxis de las sentencias SQL-DML. Se hará referencia a
conceptos y ejercicios trabajados previamente en el curso.

SQL DML

SQL (Structured Query Language) es un lenguaje declarativo: se expresa qué hacer y no


cómo hacerlo. No es un lenguaje de programación, por lo tanto, requiere ser empotrado
dentro de un lenguaje de programación como java, PHP, Ruby, C, entre muchos otros, para
desarrollar aplicaciones.

El lenguaje está compuesto por sentencias, organizadas en grupos:


DDL: Lenguaje de definición de datos. Incluye sentencias como: CREATE, ALTER,
DROP, COMMENT
DML:Lenguaje de manipulación de datos. Incluye sentencias como: SELECT, INSERT,
UPDATE, DELETE, COMMIT, ROLLBACK
DCL: Lenguaje de control de datos. Incluye sentencias como: CREATE USER, DROP
USER, GRANT, REVOKE

Cada sentencia se compone de cláusulas, algunas opcionales, otras obligatorias. Por ejemplo,
una sentencia SELECT estándar puede tener cláusulas como: (las cláusulas azules son
obligatorias en el SQL estándar)

SELECT [all|distinct] columnas/expresión/función SQL/subquery separadas por comas


FROM lista tablas /alias  separadas por comas
WHERE condiciones *
GROUP BY columnas  separadas por comas
HAVING columnas *
ORDER BY columna ASC/DESC;  separadas por comas

* Operadores:
-Atitméticos (pueden utilizarse como parte de las expresiones): +,-,*,/
- Lógicos: AND, OR, NOT
- Relacionales: =,>, <, >=, <=, !=, otros como:
LIKE para buscar patrones específicos con el símbolo %
NOT LIKE complemento del LIKE
IN para especificar una lista de valores
BETWEEN para buscar en un rango cerrado de valores
________________________________________________________________________________
Alba Consuelo Nieto Lemus 1
NULL para verificar si el contenido de una columna es null. Nunca se debe utilizar
= NULL
NOT NULL para verificar si el contenido de una columna es diferente de null.
Nunca se debe utilizar != NULL
Ejemplos:

SELECT * FROM cliente WHERE o_email IS NULL;

SELECT n_nomcliente, n_apecliente WHERE n_apecliente LIKE ‘R%’ ORDER BY


n_apecliente, n_nomcliente;
 Proyecta nombre y apellido de los clientes cuyo apellido empieza por ‘R’

SELECT * FROM venta WHERE f_venta BETWEEN ‘2020/01/01’ AND ‘2020/03/31’;


 Lista los datos de las ventas que se hicieron en dicho periodo de tiempo. La condición
también podría escribirse como: WHERE f_venta >= ‘2020/01/01’ AND f_venta <=
‘2020/03/31’

SELECT k_venta, TO_CHAR(f_venta, ‘yyyy/mm/dd’), TO_CHAR(v_venta,


‘$999,999,999.99’) from venta ORDER BY f_venta;
 la función TO_CHAR convierte un valor numérico o una fecha a una cadena de
caracteres con el formato dado. Este formato es una máscara que se debe consultar en el
manual de SQL de la base de datos que corresponda.

Nota: Para consultar las funciones de SQL, busque en internet ‘Oracle SQL functios’ o
‘PostgreSQL SQL functios’

TIPOS DE CONSULTAS

Consultas simples: Son las consultas que se hacen sobre una sola tabla. Además de la
proyección, puede incluir restricciones, expresiones, agrupamientos y ordenamientos (vistas
en clase)

Consultas multitabla (vistas en clase): Además de lo anterior, incluyen la operación de join.


Aquí hay que ser muy cuidadoso, pues si en la condición de WHERE no se escribe
adecuadamente la igualdad entre el valor del PRIMARY KEY y del FOREIGN KEY entre
cada par de tablas, el resultado puede ser vacío o un producto cartesiano.

 Es recomendable utilizar alias en las tablas para evitar que las columnas con el mismo
nombre queden ambiguamente definidas.

 La condición de join se escribe en la sentencia WHERE, pues es una restricción


especial. Si el join involucra varias tablas, se deben poner las condiciones
correspondientes para cada par de tablas. Sin embargo, también se puede utilizar la
cláusula JOIN (LEFT/RIGHT/OUTER/NATURAL/INNER/), pero esto hace más
extensa la sentencia, y en algunos casos, más difícil de depurar.

________________________________________________________________________________
Alba Consuelo Nieto Lemus 2
Consultas resumen
SQL permite resumir los datos de una tabla mediante funciones de columna.
Entrada de la función: una columna entera
Salida de la función: un único dato que resume la columna

Ejemplo:

Cuáles son las funciones típicas de resumen?:


COUNT(*): Cuenta el número de registros de una tabla
COUNT(col): Cuenta el número de valores de la columna que sean diferentes de nulo
MAX(col): Retorna el valor máximo de la columna
MIN(col): Retorna el valor mínimo de la columna
SUM(col): Retorna la suma de los valores de la columna
AVG(col): Retorna el valor promedio de los valores de la columna

 Las funciones SUM y AVG aplican sobre columnas de tipo numérico. Las demás sobre
cualquier tipo de columna. Todas las funciones excluyen del cálculo los valores nulos.

 Importante: La funciones de resumen NO pueden proyectar otras columnas, excepto la(s)


funciones de resumen, es decir, no se puede incluir columnas sobre las cuales no se haya
hecho un resumen (Ejemplo: SELECT SUM(v_total), f_venta) FROM venta;  error,
por qué ¿?). Si se requiriera, se debe utilizar la cláusula GROUP BY, que no hace parte
de este curso.

SENTENCIAS DE ACTUALIZACIÓN DE DATOS

Están compuestas por: INSERT, UPDATE, DELETE.

Como modifican datos, verifican automáticamente TODAS las restricciones de integridad


de la base de datos. Una vez que se ejecuten, requieren las sentencias COMMIT (para dejar
en firme el cambio en la base de datos) o ROLLBACK (para deshacer los cambios).

La estructura de estas sentencias es más simple que la estructura del SELECT.

________________________________________________________________________________
Alba Consuelo Nieto Lemus 3
INSERT
Incluye una nueva fila en una tabla. Se puede escribir de dos formas:

a) INSERT INTO tabla (col1, col2, col2…, coln) VALUES (val1, val2,…,valn);
b) INSERT INTO table VALUES(val1, val2,…,valn);
 La diferencia, es que en la primera forma se escriben explícitamente las columnas y se
pueden excluir las columnas cuyo valor es nulo. En la segunda forma, no va la lista de
columnas pero es obligatorio que hayan tantos valores como columnas tenga la tabla,
aun así sean null.
 Los valores se dan en el mismo orden en el que aparezcan las columnas en la tabla.
 Los valores que se vayan a incluir deben ser del mismo tipo de las columnas: los tipos
DATE y VARCHAR deben ir entre comillas sencillas ‘ ‘. Los valores numéricos no
requieren comillas y pueden llevar el signo y el punto decimal.

Ejemplos:

INSERT INTO venta (k_venta, k_rutCkiente, f_venta, v_vanta) VALUES


(5,123,’2020/03/17’, 35000);

INSERT INTO venta VALUES(6,456,’2020/03/17’, 120000);

UPDATE
Actualiza el valor de una o varias columnas de los registros que cumplan cierta condición.

UPDATE tabla SET col1 = val1,


col2= val2, …,
coln = valn
WHERE condición;

Ejemplos:

UPDATE venta SET v_venta = 330000 WHERE k_venta = 1;


UPDATE venta SET v_venta = 280000, f_venta = ‘2020/03/13’ WHERE k_venta = 4;

Si se omite la cláusula WHERE se actualizan todas las filas de la tabla.

DELETE
Elimina la o las filas de una tabla que cumplan cierta condición.

DELETE tabla WHERE condición;

Ejemplo:
DELETE venta WHERE k_venta = 5;

Importante:
________________________________________________________________________________
Alba Consuelo Nieto Lemus 4
Si se omite la cláusula WHERE se borran todos los registros de la tabla.
Dependiendo de las restricciones de eliminación que tengan las llaves foráneas, un registro
padre no puede ser eliminado si tienen hijos relacionados.

________________________________________________________________________________
Alba Consuelo Nieto Lemus 5

También podría gustarte