¿Qué es? SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es
un lenguaje de dominio específico utilizado en programación, diseñado
para administrar, y recuperar información de sistemas de gestión de bases
de datos relacionales. Una de sus principales características es el manejo
del álgebra y el cálculo relacional para efectuar consultas
con el fin de recuperar, de forma sencilla, información de bases
de datos, así como realizar cambios en ellas. Originalmente basado en el álgebra relacional y en
el cálculo relacional, SQL consiste en un lenguaje de definición de
datos, un lenguaje de manipulación de datos y un lenguaje de
control de datos. El alcance de SQL incluye la inserción de datos, consultas,
actualizaciones y borrado, la creación y modificación de esquemas y el control
de acceso a los datos. También el SQL a veces se describe como un lenguaje
declarativo, también incluye elementos procesales.
Lenguaje de definición de datos: El lenguaje de definición de datos (en inglés Data Definition Language, o DDL), es el que se encarga de la modificación de la estructura de los objetos de la base de datos. Incluye órdenes para modificar, borrar o definir las tablas en las que se almacenan los datos de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER, DROP y TRUNCATE.
- CREATE (Crear): Este comando permite crear objetos de datos, como nuevas bases de datos, tablas, vistas y procedimientos almacenados. Ejemplo (crear una tabla): CREATE TABLE clientes;
- ALTER (Alterar): Este comando permite modificar la estructura de una tabla u objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc. Ejemplo (agregar columna a una tabla): ALTER TABLE alumnos ADD edad INT UNSIGNED;
- DROP (Eliminar): Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función, procedimiento o cualquier objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER. Ejemplo: DROP TABLE alumnos;
- TRUNCATE (Truncar): Este comando solo aplica a tablas y su función es borrar el contenido completo de la tabla especificada. La ventaja sobre el comando DELETE, es que, si se quiere borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE solo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación de Datos), es en realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transacción. Ejemplo: TRUNCATE TABLE nombre_tabla;