SQL
SQL es un lenguaje de consultas estructuradas o Structured Query Language. Es un lenguaje de 4º genereación donde el programador o usuario del lenguaje especifica lo qué quiere, pero no establece el procedimiento a seguir para conseguirlo, no dice cómo ha de hacer el sistema para conseguirlo
|
Lenguaje no procedural Vs lenguaje procedural)
|
|
- Con lenguaje no precedural (tipo SQL)
Dime todos los empleados de más de 45 años
o
SELECT *
FROM empleados
WHERE edad>45;
Lenguaje procedural (tipo php o java)
Abre la tabla empelados
Lee desde el primer registro hasta el último (Bucle)
Verifica si ese empleado tiene mas de 45
Si es así añádelo a la lista de resultado
Muestra la lista de resultado
|
SQL
Lenguaje para gestionar bases de datos relacionales cuyas instrucciones o sentencias especifican lo qué se quiere, no cómo se va a realizar
|
Lenguajes dentro de SQL
SQL no es, como su nombre indica, solamente un lenguaje de consultas, si no que proporciona todas las instrucciones necesarias para gestionar una base de datos.
SQL incorpora tres tipos de lenguajes: de Definición, de Control, de Manipulación.
Las intrucciones de SQL se conocen como sentencias, y todas se caracterizan por que empiezan por una palabra reservada que identifica a qué lenguaje de los tres deque tiene SQL pertenece esa instrucción.
- DDL
- Lenguaje de definición de datos.
- Las sentencias de este lenguajes permite crear nuevos elementos en la base de datos como usuarios, tablas, índcies, etc.
- DCL
- Lenguaje de control de datos
- Las sentencias de este lenguaje permite gestionar permisos sobre los elementos y acciones sobre la consistencia de los datos
- DML
- Lenguaje de manipulación de datos
- Sin duda son las instrucciones o sentencias mas utilizadas en un Gestor
- Con ellas podemos manipular lo que se conoce como la extensión o contenido de la base de datos. Es decir actuar sobre las tuplas (insertar, modificar y borrar), y consultar
|
Sentencias DDL
- CREATE
- DROP
- ALTER
|
Sentencias DCL
- GRANT
- para asignar privilegios
GRANT ALL ON DATABASE.* TO 'manuel'@'localhost'
#Asigna todos los privilegios sobre las tablas de la base de datos DATABASE al usuario manuel
- REVOKE
- Elimina privilegios asignados
- COMMIT
- Confirma una transacción de manera permanente en la base de datos
- ROLLBACK
- Desace todos los cambios en la base de datos desde la ultima transacción confirmada
|
Sentencias DML
- INSERT
- Inserta tuplas en una tabla
- Esta acción pude devolver algún tipo de valor booleano indicando se se ha insertado o no la tupla
- DELETE
- Borra tuplas (0 o más) de una o más tablas
- UPDATE
- Actuliza tuplas (0 o más) de una o más tablas
- Las dos últimas sentencias (UPDATE Y DELETE) sueleN devolver un entero que indica el número de tuplas actulizadoas o borradas (siendo 0 un valor posible) o un error (-1 o false) se se ha producido algún tipo de error.
- SELECT
- Es esta la sentencia estrella
- usando el álgebra relacional premite recuperar un subconjunto de los datos de la base de datos
- Esta sentencia devuelve un conjunto de tuplas devueltas por la consulta. Normalmente va a devolverlo como un objeto dependiendo del lenguaje.
- Esta sentencia pude tener 5 claúsulas de las cuales solo las dos primeras son obligatoiras
SELECT
FROM
WEHRE
GROUP BY
HAVING
ORDER BY
|