Anda di halaman 1dari 39

 El Lenguaje de Consulta Estructurado

(Structured Query Language).


 Es un lenguaje declarativo de acceso a base de
datos relacionales.
 En 1970 Dr. Edgard F. Codd propone el modelo
relacional.
 IBM definen el lenguaje SEQUEL (Structured
English QUEry Language) que se implementa
en “System R” en 1977.
 Por problema de derecho de autor el nombre
pasó de SEQUEL a SQL.
 Oracle lo implementó en 1979 en forma
comercial en Oracle V2 (Versión 2) para
los computadores VAX.
 IBM lo implementa en DB2 en 1983.
 En 1986 se adopta como estándar
ANSI/ISO.
 ANSI ha declarado que la pronunciación
oficial de SQL es “ɛs kju| ɛl“.
Año Nombre Alias Comentarios
1986 SQL-86 SQL-87 Primera publicación ANSI ratificado por
ISO en 1987

1989 SQL-89 Revisiones menores


1992 SQL-92 SQL2 Revisiones menores
1999 SQL-99 SQL3 Agrega expresiones regulares, triggers,
tipos no escalares (Array,Ref Type,
BLOB)

2003 SQL-2003 Introducir XML, estandarizar las


secuencias y todo lo auto generado
 En los comandos SQL no se distingue
entre mayúsculas y minúsculas (SELECT
es equivalente a SeLeCt o SelecT).
 Se acostumbra escribir todos los
comandos SQL en mayúsculas.
 En algunas bases de datos se diferencia
el nombre de las tablas y de las columnas
si son en mayúsculas o en minúsculas.
 El lenguaje SQL está compuesto por:
 Comandos.
 Cláusulas.
 Operadores y
 Funciones de agregado.
 Estos elementos se combinan en las
instrucciones para:
 Crear.
 Actualizar y
 Manipular las bases de datos.
 Existen dos tipos de comandos SQL:

 DDL (Data Definition Language): permiten


crear y definir nuevas bases de datos, campos
e índices.
 DML (Data Manipulation Language): permiten
generar consultas para ordenar, filtrar y
extraer datos de la base de datos.
DDL
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.
DML
Comando Descripción
SELECT Utilizado para consultar registros de la base de datos
que satisfagan un criterio determinado

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
 Son condiciones de modificación utilizadas para definir los datos
que desea seleccionar o manipular.

Cláusula Descripción
FROM Utilizada para especificar la tabla de la cual se van a
seleccionar los registros.
WHERE Utilizada para especificar las condiciones que deben reunir los
registros que se van a seleccionar.
GROUP BY Utilizada para separar los registros seleccionados en grupos
específicos.
HAVING Utilizada para expresar la condición que debe satisfacer cada
grupo.
ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo
con un orden específico.
Operador USO
AND Es el "y" lógico. Evalúa dos condiciones y
devuelve un valor de verdad sólo si ambas son
ciertas.

OR Es el "o" lógico. Evalúa dos condiciones y


devuelve un valor de verdadero si alguna de las
dos es cierta.

NOT Negación lógica. Devuelve el valor contrario de


la expresión.
Operador USO
< Menor que
> Mayor que
<> Distinto de
<= Menor o igual que
>= Mayor o igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo.
IN Utilizado para especificar registros de una base de
datos .
 Se usan dentro de una cláusula SELECT en grupos
de registros para devolver un único valor que se
aplica a un grupo de registros.

Función Descripción
AVG Calcular el promedio de los valores de un campo determinado .
COUNT Devuelve el número de registros de la selección.
SUM Devuelve la suma de todos los valores de un campo determinado.

MAX Devuelve el valor más alto de un campo especificado.


MIN Devuelve el valor más bajo de un campo especificado.
 Las consultas de selección se utilizan
para indicar al motor de datos que
devuelva información de las bases de
datos.
 Esta información es devuelta en forma de
conjunto de registros.
 La sintaxis básica es: Se finaliza
con ;
 Los registro se ordenan utilizando la cláusula
ORDER BY.
 Se incluye entre la cláusula y el primer
nombre del campo a recuperar:
 DISTINCT: Omite los registros cuyos campos
seleccionados coincidan totalmente.
 DISTINCTROW: Omite los registros duplicados
basándose en la totalidad del registro y no sólo en los
campos seleccionados.*
 LIMIT.*
 TOP.*
 ALL.*

* : No implementado por todas las bases


 En determinadas circunstancias es necesario
asignar un nombre a alguna columna en
particular de un conjunto devuelto.
 Hasta ahora hemos visto como recuperar
todos los registros de una tabla.
 A continuación veremos como aplicar
filtros para obtener ciertos datos con
algún criterio de búsqueda.
 Dos puntos importantes a considerar:
 Para buscar por un valor no numérico
debemos encerrarlo entre comillas simples ‘’.
 En MySql al referirse a la fecha lo haremos de
esta manera: ‘yyyy-mm-dd’.
 Esta cláusula es usada para determinar
qué registros de las tablas enumeradas
en la cláusula FROM aparecerán en los
resultados de la instrucción SELECT.
 Después de escribir esta cláusula se
deben especificar las condiciones de
búsqueda.
Para preguntar si es distinto de
NULL se utiliza IS NOT NULL
 Se utiliza el operador BETWEEN.
 Su sintaxis es así:

 La condición NOT es opcional.


 LIKE: se utiliza para buscar
en cadenas de caracteres.
 IN: se utiliza para buscador
en de un listado.

Opcional
 GROUP BY:
 Combina los registros con valores idénticos, en la lista de
campos especificados, en un único registro.
 Para cada registro se crea un valor sumario si se incluye una
función SQL agregada.
 Su sintaxis es:

 Los valores NULL en los campos GROUP BY se agrupan y no


se omiten.
 Los valores NULL no se evalúan en ninguna de las funciones
SQL agregadas.
 Se utiliza la cláusula WHERE para excluir aquellas filas que no
desea agrupar, y la cláusula HAVING para filtrar los registros
una vez agrupados.
También existen MIN, AVG y otros más.
 Las consultas de acción son aquellas que
no devuelven ningún registro.
 Son las encargadas de acciones como
añadir, borrar y modificar registros.
 Las operaciones son:
 DELETE : borra registros.
 INSERT INTO: agrega registro.
 UPDATE: actualiza registros.
 Se utilizan para relacionar varias tablas
en una sola consulta.
 Existen dos tipos:
 Unión interna, conocida como INNER JOIN.
 Unión externa, conocida como UNION.
 La cláusula INNER que combina registros de dos
tablas.
 Su sintaxis es:

 Donde comp es algún criterio de comparación.


 Si no agregamos el operador ON el resultados
será la combinación de todas las filas.
 Si la tabla_1 tiene 2 filas y la tabla_2 tiene 3 filas
el resultado final será de 6 filas.
Equivalentes
Elimina
ambigüedad

Equivalentes
 Se utiliza para crear una consulta de unión,
combinando los resultados de dos o más
consultas.
 Su sintaxis es:

 UNION no devuelve filas repetidas.


 Es posible obligar a UNION que retorne todas las
filas usando el predicado ALL. Esto lo hace más
eficiente.
 Todas las consultas deben tener el mismo
número de campos.
 No es necesario que coincidan los tipo de las
columnas.
 Conceptos previos:
 Llave primaria (PK): en inglés Primary Key, las
columnas que tienen esta característica no
podrán ser nulas y tampoco podrán ser
repetidas (como tupla).
 Llave única: en inglés Unique Key, las
columnas que tienen esta característica no
podrán ser repetidas.
 Llave foránea (FK): en inglés Foreign Key, las
columnas que tienen esta característica
apuntan a columnas de otras tablas, por lo
tanto al insertar una nueva fila el valor de la
columna indicada como FK debe existir en la
tabla referenciada.
 Creando nuevas
tablas:
 La cláusula usada es
CREATE con el operador
TABLE.
 La tabla nueva debe
tener al menos una
columna.
 Se debe indicar el
nombre de columna, su
tipo y su tamaño.
 Es posible asignar una
columna como PK.
 Es posible asignar llave
únicas y asignar
columnas como no
nulas.
 Modificación de
tablas:
 Con la cláusula
ALTER es posible
agregar nuevas
columnas y
agregar llaves.
 Con la cláusula
DROP es posible
eliminar tablas,
columnas y llaves.
 Índices:
 Los índices agilizan la labor de búsqueda.
 Los índices se definen sobre columnas.
 Las columnas con índices tienen un acceso más rápido.
 En la mayoría de las BD las llaves primarias tienen un
índice automáticamente.
 Con la cláusula CREATE se definen los índices.
 Con la cláusula DROP se borran los índices.

Anda mungkin juga menyukai