¿Qué son las sentencias SQL y cuáles son sus tipos?

Si bien a primera vista el término de sentencias sql puede parecer extraño y desconocido incluso por parte de quienes ya cuentan con conocimientos en informática, lo cierto es que se trata de un sinónimo de comandos sql. Dicho de otra manera, todas las sentencias sql son los comandos de SQL que podemos utilizar en este lenguaje de dominio específico que utilizamos para programación. Desconociendo el entorno de SQL es fácil tener respeto hacia un término como sentencia, pero resulta más familiar y sencillo de entender de lo que se podía imaginar. A partir de aquí lo único que hay que hacer es profundizar en los dos grandes tipos de sentencias SQL existentes: DML (lenguaje de manipulación de datos) y DDL (lenguaje de definición de datos).

Sentencias DML

Lo primero de todo es tener en cuenta que si bien se utiliza el término lenguaje en los nombres de las sentencias, lo cierto es que ni DDL ni DML son lenguajes en sí mismos. Se utilizan estos términos con la intención de llevar a cabo la diferenciación existente entre ambos tipos de sentencia. Dicho esto sí podemos llegar a ver cuál es el cometido de las sentencias DML. Estas son las sentencias que permiten a los usuarios realizar consultas, modificaciones, inserciones y procesos de eliminación de los datos que se hayan guardado en los distintos objetos que forman parte de la base de datos con la que estemos trabajando.

Una de las particularidades de las sentencias DML se encuentra en que es posible deshacerlas. Las cuatro principales son Select, Insert, Delete y Update para recuperar datos, añadir filas con más datos, eliminar filas con datos previos y modificar aquellos datos que ya existan.

Sentencias DDL

Por su lado, las sentencias DDL son las que se ocupan de la creación de los objetos dentro de la base de datos, requiriendo una confirmación de la mano del SGBD cada vez que se lleva a cabo una de ellas. Las sentencias que utilizamos dentro de este lenguaje incluyen Create Table para proceder a añadir una tabla, Drop Table para el efecto contrario o Alter Table para modificar la tabla.

También tenemos Create View, que se ocupa de añadir una vista adicional a la base de datos y Drop View como comando opuesto. En el caso de usar Create Index estaremos creando un nuevo índice para la columna que hayamos seleccionado y si usamos Drop Index la estaremos eliminando. Por último, contamos con Create Synoym para darle a la tabla un alias específico y Drop Synonym con la misión de eliminar ese alias que hayamos creado o que existiera con anterioridad.

Otras sentencias

Aunque los grupos principales son los correspondientes a los mencionados: DML y DDL, hay otras dos categorías de secuencias SQL de las que debemos hablar. La primera de ellas es DCL, que se encuentra formada por los comandos de control de acceso y de control de transacciones. En el primer grupo están las secuencias Grant, que proporciona privilegios a los usuarios para que puedan acceder, y Revoke, que hace lo contrario. Por su lado, el segundo grupo está formado por Commit, que da final a la transacción que se encuentre en marcha, y Rollback, que sirve como forma de abortar la transacción de manera repentina.

La otra categoría de sentencias es la PLSQL de tipo programático, en la cual se incluyen cuatro comandos: Declare, Open, Fetch y Close. El primero de ellos es el que hace que se defina un cursor a la hora de hacer una consulta determinada. Con Open abrimos ese cursor y podemos conseguir que se recuperen los resultados correspondientes a la consulta. Usando Fetch recuperamos únicamente una fila de esos resultados y con Close cerramos el proceso con el cursor.