En el post Introducción a las Bases de Datos te hablé sobre lo que necesitas saber antes de aprender a fondo sobre estas, pero no sobre el lenguaje de consultas estructurado, en inglés: Structured Query Language, o por sus siglas globalmente como SQL. Aquí, aprenderás la sintaxis de este lenguaje, los comandos, cláusulas, operadores, y más de los que tiene este lenguaje. Pronto podrás ver posts sobre cómo crear bases de datos en sistemas gestores como MariaDB y PostgreSQL.

¿Qué es el Lenguaje de Consultas Estructurado (SQL)?

Te explicaré como me encantaría que me dijeran, es utilizado para administrar bases de datos relacionales y hacer varias operaciones con los datos que contienen estas o que se quieren manipular. No te voy a llenar de teoría como cuándo fue creado, lo importante de aquí es que sepas para qué sirve este lenguaje.

Este lenguaje se utiliza para modificar las tablas de las bases de datos que sean relacionales (las no relacionales NO usan este lenguaje), las operaciones que se realizan con este lenguaje se resumen en el acrónimo CRUD que observarás con mayor detenimiento más adelante. Si quieres aprender más teoría para un trabajo de investigación o algún otra tarea que tengas, te puede servir este artículo escrito por Jessica Sirkin de ComputerWeekly.es.

Comandos SQL

SQL en su sintaxis tiene ciertos comandos que se dividen en dos tipos principales.

Comandos DLL (Data Definition Language)

Estos comandos permiten crear y definir nuevas bases de datos, igual que campos e índices. De acuerdo a lo que dice GeoTalleres, el lenguaje de definición de datos es el encargado de la modificación de la estructura de los objetos de la base de datos. Los comandos DLL son:

  • CREATE: crea nuevas bases de datos, tablas, campos, vistas e índices.
  • DROP: elimina tablas, bases de datos e índices, se DEBE usar con cuidado ya que la eliminación de estos datos NO SE PUEDE REHACER. Se debe diferenciar del comando DELETE.
  • ALTER: este comando nos ayuda a modificar las tablas pudiendo agregar campos, eliminar campos, y también la definición de los campos.
  • TRUNCATE: trunca todo el contenido de una tabla.

Comandos DML

Estos a diferencia de los comandos DLL, permiten generar consultas para ordenar, filtrar y también extraer datos de la base de datos.

  • SELECT: ayuda a consultar registros de la BD que satisfagan un criterio determinado.
  • INSERT: carga los datos en una tabla definida en una sola operación.
  • UPDATE: modifica los valores de los campos y registros especificados.
  • DELETE: elimina registros de una tabla de una base de datos, al igual que el comando drop, no se pueden recuperar los registros borrados.

Cláusulas del lenguaje SQL

El lenguaje SQL también tiene cláusulas que son condiciones de modificación que son normalmente utilizadas para definir los datos que se desean manipular o seleccionar.

FROM

Este comando especifica la tabla de la cual se van a seleccionar los registros.

SELECT * FROM tabla;
--        ⬆

WHERE

Este detalla las condiciones que deben reunir los registros que van a ser seleccionados.

SELECT campo FROM tabla WHERE campo = "valor";
--                        ⬆

GROUP BY

Separa los registros seleccionados en grupos específicos

SELECT marca, AVG(kilometraje) FROM autos GROUP BY marca;
--                                           ⬆

Nota: más adelante verás la función avg, y en otros posts verás un ejercicio de SQL.

HAVING

Comando que detalla la condición que debe satisfacer cada grupo.

SELECT marca, AVG(kilometraje) FROM autos GROUP BY marca HAVING AVG(kilometraje < 50000;
--                                                         ⬆

ORDER BY

Este comando ordena los registros seleccionados de acuerdo a un orden que es determinado al realizar la consulta.

SELECT marca, AVG(kilometraje) FROM autos GROUP BY marca HAVING AVG(kilometraje) < 50000 ORDER BY AVG(kilometraje) ASC|DESC;
--                                                                                         ⬆

Operadores en el lenguaje SQL

En el lenguaje de consultas estructurado existen dos tipos de operadores, los lógicos y de comparación.

Operadores lógicos

  • AND: literalmente, es el “y” lógico. Este operador evalúa dos condiciones y devuelve true únicamente si ambas son ciertas.
  • OR: es el “o” lógico. A diferencia del comando anterior, evalúa dos condiciones y devuelve true si al menos una de las dos condiciones es cierta.
  • NOT: es la negación lógica, ya que devuelve el valor contrario de la expresión.

Operadores de Comparación

OperadorDefinición
<Menor que
>Mayor que
<>Distinto de
<=Menor o igual que
>=Mayor o igual que
BETWEENEspecifica un intervalo de valores
LIKEComparación de un modelo
INEspecifica registros de una base de datos

Funciones de agregado de SQL

Estas funciones son utilizadas dentro del comando SELECT para luego devolver un único valor que se aplica a un grupo de registros determinados. Las funciones de agregado más usadas son:

  • AVGCalcula el promedio de los valores de un campo específico.
SELECT AVG(campo) FROM tabla;
--     ⬆
  • COUNTEsta función devuelve el número de registros de la selección.
SELECT COUNT(campo) FROM tabla;
--       ⬆
  • SUMRealiza la misma función que AVG, solo que en vez de calcular el promedio, devuelve la suma: SELECT SUM(campo) FROM tabla;
  • MAX y MINDevuelven el valor más alto y bajo, respectivamente, de un campo especificado: SELECT MIN(campo), MAX(campo) FROM tabla;

Por otro lado, SQL contiene varios tipos de consultas, tales como:

Consultas de selección en SQL

Son utilizadas para indicar al motor de datos que devuelva información de las tablas, que es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto, es importante mencionar que son modificables. La sintaxis básica de una consulta de selección es la siguiente:

SELECT campos FROM tabla;

Aunque estas consultas, pueden tener los siguientes predicados:

  1. ALL: selecciona todos los campos y registros de una tabla, se denota con el asterisco.
SELECT * FROM tabla;
  1. TOP: devuelve un determinado número de registros de la tabla, desde el primer registro hasta al último que se desee.
  2. DISTINCT: omite los registros cuyos campos seleccionados coincidan totalmente. Tiene una variante llamada DISTINCROW que omite los registros duplicados basándose además en todos los registros.
SELECT DISTINCT(campo) FROM tabla;

Si quieres observar un ejercicio que verás en evaluaciones en la universidad, te recomiendo que visites este post

By Henrry Bourgeot

Desarrollador BackEnd nacido en Venezuela, actualmente cursando Ingeniería de Sistemas, me encanta enseñar a las personas, por ello he creado este blog.

Leave a Reply

Your email address will not be published. Required fields are marked *