paula quitral lenguaje sql lenguaje estructurado de consultas
TRANSCRIPT
Paula Quitral
LENGUAJE SQLLENGUAJE
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).
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.
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
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
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
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
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
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
Operadores Numéricos
+ Suma
- Resta
* Multiplicación
/ División
Operadores de relación
= Igual a
<> Distinto de
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
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
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
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
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)
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.
CREACION DE UNA BASE DE DATOS
CREATE DATABASE Colegio
La sentencia para crear una base de datos tiene la forma:
CREATE DATABASE nombre_BASEDATO
DESTRUCION DE UNA BASE DE DATOS
DROP DATABASE colegio
El formato para destruir o borrar una base de datos es
DROP DATABASE nombrebasedato
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] ... ] ).
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
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, ...)
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 }]
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 }]
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.
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