Primeros pasos con SQL
SQL es el acrónimo de Structured Query Language o Lenguaje de consulta estructurado. Es un lenguaje de programación que se utiliza para trabajar con lo que llamamos una base de datos relacional.
Debes estarte preguntando: pero ¿qué es una base de datos relacional? En resumen, es una base de datos que almacena y brinda acceso a puntos de datos relacionados, una forma intuitiva y sencilla de representar datos en tablas. En este artículo aprenderás más sobre qué es SQL y sus principales ventajas.
¿Qué es SQL?
SQL fue desarrollado por los laboratorios de IBM (International Business Machines Corporation) en los años 70, siendo estandarizado a partir de los 80 y convirtiéndose en el lenguaje estándar para el manejo de información en una Base de Datos Relacional.
En general, una Base de Datos Relacional almacena datos en formatos similares a las tablas, lo que permite construir relaciones entre ellos, facilitando la inserción y recuperación de información.
Con SQL es posible realizar consultas a una base de datos, informando varios tipos de parámetros y siguiendo, por supuesto, reglas, sintaxis y normas del lenguaje. Con esto es posible obtener gran cantidad de información proveniente de diferentes tablas, con muy pocas o solo una instrucción, dependiendo del caso.
¿Cómo utilizar SQL?
El primer paso para aprender a usar SQL es saber que el lenguaje es declarativo, por lo que nos preocuparemos menos sobre cómo funcionan las cosas y nos centraremos más en informar lo que queremos hacer, combinando un conjunto de comandos que ya proporciona el lenguaje mismo.
Estos comandos de lenguaje se dividen en conjuntos, de acuerdo con lo que cada comando tiene como función. Si un comando tiene una actividad similar a otro, se agruparán en el mismo conjunto.
A continuación veremos cuáles son estos conjuntos y haremos algunos ejemplos con los comandos más utilizados. ¡Vamos!
DDL - Data Definition Language
Este conjunto de comandos trata con objetos, creando bases de datos, tablas, campos y esquemas. En este conjunto tenemos funciones como:
CREATE - Crea una estructura.
ALTER - Altera una estructura.
DROP - Excluye una estructura.
Ejemplo:
DML - Data Manipulation Language
Es el conjunto donde se trabaja con la manipulación de datos. Este conjunto posee las funciones:
INSERT - Inserta dados.
UPDATE - Altera dados.
DELETE - Borra dados.
Ejemplo:
DQL - Data Query Language
Es el conjunto de datos centrado en consultas y permite hacer todas las búsquedas que necesitamos en la base de datos.
Posee sintaxis como:
SELECT - Regresa datos de una tabla.
ORDER BY - Ordena los datos de una tabla.
GROUP BY - Borra los datos de una tabla.
También tendremos funciones aritméticas, filtros de selección, etc., las cuales se trabajan en el conjunto DQL.
Ejemplo:
En el caso del ejemplo de arriba, vale destacar que algunas fuentes colocan a SELECT como parte del conjunto DML, ya que la función del mesmo sería la recuperación de datos.
Algunos conjuntos más específicos son:
DTL - Data Transaction Language
Se utiliza para realizar transacciones dentro de la base de datos.
Dichas transacciones se realizan a través de las seguintes funciones:
START/BEGIN TRANSACTION - Comando que inicia la transacción.
COMMIT - Confirma/concreta la transacción.
ROLLBACK - Anula una transacción.
Nota: Este es un conjunto que a menudo impide que hagamos cambios que no deberían hacerse en la base de datos, al permitir realizar algo similar a una copia de seguridad antes de algún cambio en la base de datos SQL.
Ejemplo:
DCL - Data Control Language
Es un conjunto de extrema importancia para controlar el acesso a la base de datos.
Para este conjunto de comandos usamos las sintaxis GRANT y REVOKE:
GRANT - Habilita el acceso a datos y operaciones.
REVOKE - Revoca el acceso a dados y operaciones.
Entre estas subdivisiones de SQL, DDL y DML/DQL son los comandos más utilizados. En el DDL tenemos los comandos dirigidos a los objetos que componen una base de datos, así como la propia base de datos, las tablas y los usuarios, entre otros elementos. En el DML/DQL encontrarás los comandos para la manipulación de datos.
Después de esta breve explicación, ahora veremos algunos comandos del grupo DDL con ejemplos de código. No te preocupes por entender cada comando a profundidad: pronto traeré nuevos artículos tratando más a fondo cada uno de ellos.
Teniendo en cuenta que los principales comandos agrupados en el grupo DDL son:
- CREATE TABLE.
- DROP TABLE.
- ALTER TABLE.
- TRUNCATE.
Seguiremos con ejemplos de cada uno de ellos.
Ejemplo 1
A continuación, veremos la creación de una tabla SQL. El comando CREATE TABLE genera una tabla, que en nuestro caso tendrá el nombre de Usuario. El contenido de la tabla se inserta dentro de los paréntesis, donde tendremos las columnas y sus props (propiedades). Aquí crearemos una tabla con tres columnas, cada una con su respectivo nombre y tipo.
Ejemplo 2
Aquí abordaremos la exclusión de una tabla SQL. El comando DROP TABLE sirve para excluir una tabla de la base de datos. Vale recordar que DROP TABLE removerá la tabla y todo el contenido en ella. Quedará de la siguiente forma:
Ejemplo 3
En caso de que desees que la tabla modifique su estructura, utiliza el comando ALTER TABLE. En el ejemplo siguiente, agregaremos una columna a la tabla Usuario.
Ejemplo 4
A diferencia de DROP TABLE, el comando TRUNCATE excluirá todos los registros de una tabla, pero no removerá la tabla en sí, dejándola de la misma forma en la que se creó.
Ahora entraremos en el conjunto DML/DQL, utilizado para manipular los dados en las tablas de la base de datos SQL.
Los comandos principales agrupados en DML y DQL son:
- INSERT.
- DELETE.
- UPDATE.
- SELECT.
Ejemplo 5
Podemos insertar nuestros registros en una tabla con el comando INSERT, donde informamos en cuáles columnas queremos insertar los datos y en cuáles los valores que colocaremos en los campos deseados.
Ejemplo 6
Si queremos excluir registros, tenemos el comando DELETE, que puede usarse con lo que llamamos una “cláusula” WHERE. En caso de que WHERE no sea utilizado, el comando DELETE excluirá todos los datos de la tabla.
Abajo muestro las 2 formas:
Ejemplo 7
Si el desarrollador no necesita añadir o remover datos en la tabla SQL, pero sí requiere actualizar algo en ella, puede usar el comando UPDATE que, así como DELETE, puede acompañarse de la cláusula WHERE.
Con esto, quedaría de la misma forma que en el ejemplo anterior. Igual que DELETE, si WHERE no se utiliza, todos los datos de la tabla se actualizarán. En este ejemplo también utilizaremos SET para “setear” el valor deseado en la tabla SQL. Quedaría así:
Ejemplo 8
Con el comando SELECT, obtendremos los datos de la tabla que serán seleccionados según la consulta deseada. En ese comando debemos indicar la tabla donde vamos a recuperar los datos, la condición de los registros que se recuperarán, etc. En el código siguiente entenderemos cómo se hace:
Para entender el paso a paso de lo que ocurre, explicaré cómo funcionará la instrucción. El término SELECT se utiliza para informar cuál o cuáles campos deben recuperarse. Luego tenemos el término FROM que indica de qué tabla se devolverán los datos y por último, pero no menos importante, tenemos el término WHERE que determina la condición para se obtengan los datos. En el ejemplo de arriba utilicé WHERE, utilizando el campo de nombre “Roberto” para retornar los datos que se encuadran en esa condición.
Debes estar preguntándote: ¿Qué pasa si quiero hacer una consulta con más de una tabla en uso?
En el siguiente ejemplo detallaré cómo hacerlo.
En este artículo, explicaré de manera rápida lo básico con la cláusula JOIN, una forma de manejar dados buscando relacionar dos conjuntos de datos en la base, siendo muito útil en diversas operaciones. Pronto traeré un artículo que detallará mejor la cláusula JOIN, ¿OK?
JOIN tiene 4 métodos diferentes basados en conjuntos INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN. Abajo utilizaré INNER JOIN, uno de los más conocidos, cuya función es retornar los valores en común de ambas tablas.
Supongamos que arriba tenemos una tabla con varios alumnos y varios profesores, cada uno con su nombre e id. Usaremos alumnos como “e” y profesores como “p”.
El retorno de INNER JOIN arriba será una nueva tabla mostrando los diferentes ids de cada persona registrada, tanto estudiante (“e”) como profesor (“p”), teniendo en cuenta que el id siempre será una clave única para cada uno y mostrando también los nombres iguales que existen en las tablas de estudiantes y professores.
Podemos concluir que el lenguaje SQL es de gran importancia para la manipulación, eliminación, inserción y más dentro de una base de datos relacional, ayudando a crear diferentes soluciones para bases de datos que van desde algo más simple hasta algo más complejo.
¡Hasta luego!
Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.