paula quitral lenguaje sql lenguaje estructurado de consultas

Post on 24-Jan-2016

249 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related