paula quitral lenguaje sql lenguaje estructurado de consultas

25
Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Upload: pedro-saavedra-castillo

Post on 24-Jan-2016

248 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Paula Quitral

LENGUAJE SQLLENGUAJE

ESTRUCTURADO DE CONSULTAS

Page 2: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

INTRODUCCION

SQL es un lenguaje normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos.

SQL es un lenguaje para organizar, gestionar y recuperar datos almacenados en una base de datos informática. El nombre "SQL" es una abreviatura de Structured Query Languaje (Lenguaje de consultas estructurado).

Page 3: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

COMPONENTES

DLL (definición de datos lógicos) permiten crear y definir nuevas bases de datos, campos e índices.

Comando Descripción

CREATE Utilizado para crear nuevas tablas, campos e índices

DROP Empleado para eliminar tablas e índices

ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.

Page 4: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

COMPONENTES

DML (definición de manipulación de datos) permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Comando Descripción

SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio

INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.

UPDATE Utilizado para modificar los valores de los campos y registros especificados

DELETE Utilizado para eliminar registros de una tabla de una base de datos

Page 5: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencias de selección o consultas

SELECT recupera datos de una base de datos y los devuelve en forma de resultados de la consulta

El operador DISTINCT, si se incluye, debe preceder la primera expresión de columna. Este operador elimina las filas o registros duplicados del resultado de la consulta.

SELECT DISTINCT PROVINCIA FROM ALUMNOS

Page 6: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencias de selección, Funciones de agrupamiento

SUM Devuelve la suma total de los valores de una expresión de columna o campo numérica . SUM(NUMERO_DE_HERMANOS) AVG Devuelve la media de los valores de una expresión de columna. AVG(NUMERO_DE_HERMANOS) COUNT Devuelve el número de valores en una expresión de columna.

COUNT(MATRICULA)

MAX Devuelve el valor más alto

MIN Devuelve el valor más bajo

SELECT MIN(FECHA_NACIMIENTO) FROM ALUMNOS

Page 7: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencias de selección

Cláusula FROM lista las tablas o ficheros que contienen los datos a recuperar por la consulta. FROM nombretabla [alias_tabla] ... Cláusula WHERE incluye solo ciertas filas o registros de datos

SELECT ALUMNO FROM ALUMNOS WHERE YEAR(FECHA_NACIMIENTO) > 1985

Page 8: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencias de selección

Cláusula GROUP BY especifica una consulta sumaria. agrupa todas las filas similares y luego produce una fila sumaria de resultados para cada grupo.

Cláusula HAVING incluye solo ciertos grupos producidos por la cláusula GROUP BY en los resultados de la consulta

SELECT GRUPO, COUNT(*) FROM MATRICUL WHERE ANNO = 1995 GROUP BY GRUPO HAVING COUNT(*) > 30

Page 9: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencias de selección

Cláusula ORDER BY ordena los resultados de la consulta en base a los datos de una o más columnas

SELECT NOMBRE, APELLIDOS FROM ALUMNOS ORDER BY FECHA_NACIMIENTO DESC

Operador UNION combina el resultado de dos sentencias SELECT en un único resultado

SELECT APELLIDOS, NOMBRE FROM ALUMNOS

UNION

SELECT APELLIDOS, NOMBRE FROM PROFESOR

Page 10: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Operadores Numéricos

+ Suma

- Resta

* Multiplicación

/ División

Page 11: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Operadores de relación

= Igual a

<> Distinto de

> Mayor que

>= Mayor o igual que

< Menor que

<= Menor o igual que

Page 12: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Operadores de relación

Like Coincidencia con un patrón

Not Like No coincidencia con un patrón

Is Null Igual a nulo (vacío)

Is Not Null No es nulo (no está vacío)

Between Rango de valores entre una cota inferior y otra superior

Page 13: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Ejemplos Operadores de Relación

Evaluacion = ‘F’

Fecha_matricula >= {10/01/95}

Apellidos LIKE ‘Rodri%’

Grupo IS NULL

Notas <>4

Notas beetwen 4 and 7

Page 14: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Operadores Lógicos

ANO = 1995 AND CURSO = ‘4º Medio’

Se debe cumplir las dos condiciones SEXO = ‘F’ OR PAIS IS NOT NULL

Basta con que una de las dos sea cierta.

El operador lógico NOT es útil para poner al contrario una condición. NOT (ANO = 1995 AND CURSO = ‘4º Medio’)

Dos o más condiciones pueden ser combinadas para formar expresiones más complejas con distintos criterios. Cuando existen dos o más condiciones deberán estar unidas por AND o OR

Page 15: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

TIPOS DE CAMPO

AlfanuméricosContienen cifras y letras. Presentan una longitud limitada (255 caracteres)

NuméricosExisten de varios tipos, principalmente, enteros (sin decimales) y reales (con decimales).

BooleanosPoseen dos formas: Verdadero y falso (Sí o No)

Page 16: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

TIPOS DE CAMPO

FechasAlmacenan fechas facilitando posteriormente su explotación.

MemosSon campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados

Autoincrementables

Son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta más que evidente: Servir de identificador ya que resultan exclusivos de un registro.

Page 17: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

CREACION DE UNA BASE DE DATOS

CREATE DATABASE Colegio

La sentencia para crear una base de datos tiene la forma:

CREATE DATABASE nombre_BASEDATO

Page 18: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

DESTRUCION DE UNA BASE DE DATOS

DROP DATABASE colegio

El formato para destruir o borrar una base de datos es

DROP DATABASE nombrebasedato

Page 19: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

CREACION DE UNA TABLA

CREATE TABLE ALUMNOS (RUT varchar(10) not null, Nombre varchar(50), edad int )

La sentencia para crear una tabla tiene la forma:

CREATE TABLE nombre_tabla (nombre_columna tipo_columna (tamaño) [ cláusula_defecto ] [ vínculos_de_columna ][ , nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ] ... ][ , [ vínculo_de tabla] ... ] ).

Page 20: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

DESTRUCION DE UNA TABLA

DROP TABLE ALUMNOS

En nombre del fichero puede ir la ruta donde se encuentra este.

El formato para destruir o borrar un tabla es

DROP TABLE nombrefichero

Page 21: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencia INSERT

INSERT INTO AUMNOS (Rut, Nombres, edad) VALUES (‘12345678-9’, ‘Carlos Garcia’,’17’)

Se utiliza para añadir registros a las tablas de la base de datos. El formato de la sentencia es:

INSERT INTO nombre_fichero [(nombre_columna, ...)] VALUES (expr, ...)

Page 22: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencia UPDATE

UPDATE MATRICULA SET FECHA_MATRICULA = TODAY() WHERE FECHA_MATRICULA IS NULL

UPDATE ALUMNOS SET EDAD = (SELECT MAX(EDAD)

FROM ALUMNOS WHERE EDAD IS NOT NULL)

WHERE EDAD IS NULL

Se utiliza para cambiar el contenido de los registros de una tabla de la base de datos. Su formato es:

UPDATE nombre_fichero SET nombre_columna = expr, ...

[WHERE { condición }]

Page 23: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

Sentencia DELETE

DELETE FROM ALUMNOS WHERE EDAD>=20

DELETE FROM NOTAS WHERE ANO < 1995 AND EVALUACION <> ‘F’

Se utiliza para borrar registros de una tabla de la base de datos. El formato de la sentencia es:

DELETE FROM nombre_fichero [WHERE { condición }]

Page 24: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

TRANSACCIONES

Cuando se activa una transacción BEGIN TRAN los cambios que se van realizando quedan en un estado de provisionalidad hasta que se realiza un COMMIT TRAN, el cual hará definitivos los cambios o hasta realizar un ROLLBACK TRAN que deshará todos los cambios producidos

Una transacción es una serie de cambios en la base de datos que deben ser tratadas como una sola. En otras palabras, que se realicen todos o que no se haga ninguno, pues de lo contrario se podrían producir inconsistencias en la base de datos.

Page 25: Paula Quitral LENGUAJE SQL LENGUAJE ESTRUCTURADO DE CONSULTAS

EJEMPLO TRANSACCIONES

transacción: BEGIN TRAN.

UPDATE ALUMNOS SET EDAD = 15

Si el objetivo no era MODIFICAR la edad de todas las filas ejecute ROLLBACK TRAN

De lo contrario se ejecuta COMMIT TRAN