Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios...

48
Introducción Lenguaje de manipulación de datos (Data Manipulation Language) • Permite a los usuarios llevar a cabo las tareas de consulta o manipulación de la BD. • El más popular es SQL.

Transcript of Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios...

Page 1: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Introducción

• Lenguaje de manipulación de datos (Data Manipulation Language)

• Permite a los usuarios llevar a cabo las tareas de consulta o manipulación de la BD.

• El más popular es SQL.

Page 2: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Tablas de ejemploAutos

Page 3: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Clientes

Page 4: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

INSERT

Sintaxis básica para insertar datos en una tabla:

INSERT INTO nombre_tabla (campo1, campo2, ...) VALUES (valor1, 'cadena1', ...)

Page 5: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

INSERT INTO autos (patente,marca,modelo,color,kilometraje)

VALUES ('ABC123', 'RENAULT','MEGANE TR100', 'NEGRO DIAMANTE',78000)

Page 6: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

UPDATEPara modificar los datos de una tabla se

usa UPDATE. Sintaxis:

UPDATE nombre_tablaSET campo_1 = nuevo_valorWHERE condición

También es posible UPDATE múltiples campos al mismo tiempo. Sintaxis:

• UPDATE nombre_tablaSET campo_1 = valor1, campo_ 2 = valor2 WHERE condición

Page 7: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

UPDATE autos SET Marca=‘Ford’ WHERE Modelo=‘Focus’

Asigna la cadena “Ford” en el campo marca, a todos los registros que tengan “Focus” como valor en el campo Modelo.

Page 8: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

DELETEPara borrar registros de una tabla se usa

DELETE FROM.Sintaxis:

DELETE FROM nombre_tablaWHERE condición

Ejemplo:

DELETE FROM Autos WHERE patente=‘ABC123’

Borra los registros de autos que tengan “ABC123” en el campo patente.

Page 9: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

SELECT

Para seleccionar registros de una tabla se usa la cláusula SELECT. Sintaxis:

SELECT nombre_campo1, nombre_campo2 FROM nombre_tabla

El símbolo * (asterisco) permite seleccionar todos los campos de una tabla.Sintaxis:

SELECT * FROM nombre_tabla

Page 10: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT marca FROM autos

Resultado:

Muestra sólo el campo “marca” de todos los registros de autos

Page 11: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Para seleccionar todos los registros distintos de una tabla se usa DISTINCT.

Sintaxis:

SELECT DISTINCT nombre_campoFROM nombre_tabla

Page 12: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT DISTINCT marca FROM Autos

Resultado:

Muestra sólo el campo “marca” de todos los registros de “autos”, omitiendo los valores repetidos.

Page 13: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Para seleccionar condicionalmente los datos de una tabla se usa la cláusula WHERE:

Sintaxis:

SELECT nombre_campo FROM nombre_tablaWHERE condición

Page 14: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT telefono FROM Clientes WHERE nombre=‘Juan’

Resultado:

Muestra el teléfono de todos los clientes cuyo nombre sea Juan.

Page 15: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

La condición del WHERE puede ser una condición compuesta. Estas están formadas por múltiples condiciones simples conectadas por AND u OR.

Sintaxis:SELECT nombre_campo FROM

nombre_tablaWHERE condición simple AND/OR condición simple

Page 16: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT patente FROM Autos WHERE modelo=‘Megane’ AND kilometraje>50

Resultado:

Muestra la patente de los autos cuyo modelo sea MEGANE y su kilometraje sea mayor que 50.

Page 17: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

La cláusula WHERE compara sus campos comúnmente con valores únicos, pero también es posible comparar con un "conjunto" de valores.  Esto es realizable a través del operador IN:

Sintaxis:

SELECT nombre_campoFROM nombre_tablaWHERE nombre_campo IN (valor1, valor2, ...)

Page 18: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT kilometraje FROM autos WHERE marca in (‘Ford’, ‘Renault’, ‘Fiat’)

Resultado:

Muestra el kilometraje de los autos cuya marca sea Ford o Renault o Fiat.

Page 19: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

BETWEEN permite la selección de un rango de valores.

Sintaxis:

SELECT nombre_campoFROM nombre_tablaWHERE nombre_campo BETWEEN valor1 AND valor2

Page 20: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT * FROM autos WHERE kilometraje BETWEEN 10000 AND 20000

Resultado:

Muestra todos los campos de los autos cuyo kilometraje esté entre 10.000 y 20.000 km.

Page 21: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

LIKE permite hacer una búsqueda basada en un patrón en vez de especificar exactamente lo que se desea (como en IN) o determinar un rango (como en BETWEEN). Sintaxis:

SELECT nombre_campoFROM nombre_tablaWHERE nombre_campo LIKE patrón

Page 22: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Patrón generalmente consiste en comodines.

• 'A_Z': Todas las líneas que comience con 'A', otro carácter y termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z'

• ‘F%':Todas las líneas que comienzan con 'F'. Por ejemplo, ‘Fiat' y ‘Ford'

• ‘%t‘: Todas las líneas que terminan con ‘t'. Por ejemplo, 'Renault', 'Fiat' y 'Peugeot'

• '%o%': Todas las líneas que contienen “o” en cualquier lado. Por ejemplo, 'Peugeot' y 'Ford'

Page 23: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT * FROM autos WHERE modelo LIKE ‘GOL%’

Resultado:

Muestra todos los campos de los autos cuyo modelo comience con GOL.

Page 24: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Para enumerar el resultado en un orden particular (ascendente y descendente)se usa ORDER BY. Sintaxis:

SELECT nombre_campoFROM nombre_tablaWHERE condición ORDER BY nombre_campo ASC/DESC

Es posible ordenar por más de una columna. En este caso, la cláusula ORDER BY anterior se convierte en:

ORDER BY nombre_campo1 ASC/DESC, nombre_campo2 ASC/DESC

Page 25: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:SELECT * FROM autos WHERE

marca=‘Ford’ ORDER BY modelo ASC, kilometraje DESCResultado:

Muestra todos los campos de los autos de marca Ford ordenados alfabéticamente por modelo, y luego por kilometraje en forma descendente.

Page 26: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Es posible hacer cálculos matemáticos, para esto se utilizan las funciones:

- AVG (promedio) - COUNT (contar) - MAX (máximo) - MIN ( mínimo) - SUM (suma)La sintaxis para el uso de funciones es:SELECT tipo de función(nombre_campo)

FROM nombre_tabla

Page 27: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT AVG(kilometraje) FROM autos

Resultado:

Muestra el promedio de los kilometrajes de todos los autos.

Page 28: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Para agrupar por un campo específico se utiliza GROUP BY.

Sintaxis:

SELECT nombre_campo1, SUM(nombre_campo2)FROM nombre_tablaGROUP BY nombre_campo1

Page 29: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT marca, AVG(kilometraje) FROM autos GROUP BY marca

Resultado:

Muestra todas las marcas de autos con su promedio de kilometraje agrupado por marca.

Page 30: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Para limitar el resultado según alguna condición de función aritmética se usa HAVING.

Sintaxis:

SELECT nombre_campo1, SUM(nombre_campo2)FROM nombre_tablaGROUP BY nombre_campo1HAVING (condición de función aritmética)

Page 31: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:SELECT marca, AVG(kilometraje) FROM

autos GROUP BY marca HAVING AVG(kilometraje) < 50000

Resultado:

Muestra todas las marcas de autos con su promedio de kilometraje agrupado por marca, siempre y cuando el promedio de km sea menor a 50000

Page 32: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Hay dos tipos de alias que se utilizan con mayor frecuencia. Alias de columna y de tabla.

Alias de columna: Para la organización del resultado. Existen casos donde el título de la columna puede complicarse (especialmente si incluye operaciones aritméticas).

Alias de tabla: Se coloca un alias directamente luego del nombre de tabla en la cláusula FROM.

Sintaxis: SELECT alias_tabla.nombre1_columna as

alias_columnaFROM nombre_tabla as alias_tabla

Page 33: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT COUNT(*) as Total de autos FROM autos

Resultado:

Muestra el total de autos. El nombre de la columna será “Total de Autos” en lugar de “COUNT(*)”.

Page 34: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Combinar sentencias

Para insertar filas múltiples en una tabla se usa la siguiente sintaxis:

INSERT INTO tabla1 (campo1, campo2, ...)SELECT campoA, campoB, ...FROM tabla2

Page 35: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

INSERT INTO clientes

SELECT * FROM proveedores

Inserta todos los registros de proveedores en la tabla clientes (los campos de ambas tablas deben coincidir).

Page 36: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Trabajar con más de un tabla (JOIN)

Hay tres tipos de combinaciones:

1. Combinaciones internas (INNER JOIN),

2. Combinaciones externas (OUTER JOIN) y

3. Combinaciones cruzadas (CROSS JOIN).

Page 37: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

INNER JOIN(Combinaciones internas)

Sintaxis:

SELECT campos FROM tabla1

JOIN tabla2

ON tabla1.campo1=tabla2.campo2

Page 38: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

• SELECT * FROM clientes INNER JOIN autos ON clientes.patente=autos.patente

Resultado:

No muestra los clientes que no tienen auto, ni los autos que no tienen cliente.

Page 39: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

OUTER JOIN(Combinaciones externas)

Existen tres tipos de combinaciones externas:

• Left outer join (o left join).

• Right outer join (o right join).

• Full outer join (o full join).

Page 40: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

LEFT JOIN

Sintaxis:

SELECT campos FROM tablaizquierda LEFT JOIN tabladerecha ON tablaizquierda.campo= tabladerecha.campo

Page 41: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:SELECT * FROM autos LEFT JOIN clientes

ON autos.patente =clientes.patente Resultado:

Muestra todos los autos, incluso los que no tienen cliente

Page 42: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

RIGHT JOIN

Sintaxis:

SELECT campos FROM tablaizquierda RIGHT JOIN tabladerecha ON tablaizquierda.campo= tabladerecha.campo

Page 43: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT * FROM autos

RIGHT JOIN clientes ON

autos.patente =clientes.patente

Resultado:

Muestra todos los clientes, incluso los que no tienen auto

Page 44: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

FULL JOIN

Sintaxis:

SELECT campos FROM tablaizquierda FULL JOIN tabladerecha ON tablaizquierda.campo1 = tabladerecha.campo2

Page 45: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:SELECT * FROM autos AS A FULL JOIN

clientes AS C ON A.patente =C.patenteResultado:

Muestra todos los clientes, incluso los que no tienen auto; y todos los autos, incluso los que no tienen cliente

Page 46: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

CROSS JOIN (Producto cartesiano)

Sintaxis:

SELECT campos FROM tabla1 CROSS JOIN tabla2

Page 47: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Ejemplo:

SELECT * FROM platos CROSS JOIN postres

Muestra todas las combinaciones posibles (plato-postre).

Page 48: Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.

Bibliografía

•http://sql.1keydata.com/es/sql-insert-into.php

•http://es.wikipedia.org/wiki/Celda_activa

•http://sql.manivesa.com/tutoriales+sql/lenguaje+sql/165.aspx

•Material de la materia gestión de datos