Tutorial de SQL

SQL es un lenguaje estándar de consultas o queries a bases de datos. La programación o consultas en SQL sirve para almacenar, manipular y recuperar datos de bases de datos relacionales. Algunos de los sistemas de gestión de bases de datos más utilizados son los de ORACLE, Microsoft SQL Server, MySQL o PostgreSQL.

En este Tutorial de SQL en español podrás encontrar de forma sencilla la sintaxis, y aprenderás a realizar consultas desde lo más básico a lo más complejo.



¿Qué es SQL?

SQL es un lenguaje de consultas que sirve para extraer información y administrar sistemas de gestión de bases de datos relacionales.

  • SQL es el acrónimo inglés de Structured Query Language, que significa lenguaje de consulta estructurado.
  • SQL le permite acceder y manipular bases de datos.
  • SQL se convirtió en un estándar del Instituto Nacional Estadounidense de Estándares (ANSI) en 1986 y de la Organización Internacional de Normalización (ISO) en 1987.

¿Qué puede hacer SQL?

Estas son las funciones principales de SQL.

  • SQL puede ejecutar consultas contra una base de datos.
  • SQL puede recuperar datos de una base de datos.
  • SQL puede insertar registros en una base de datos.
  • SQL puede actualizar registros en una base de datos.
  • SQL puede eliminar registros de una base de datos.
  • SQL puede crear nuevas bases de datos.
  • SQL puede crear nuevas tablas en una base de datos.
  • SQL puede crear procedimientos almacenados en una base de datos.
  • SQL puede crear vistas en una base de datos.
  • SQL puede establecer permisos en tablas, procedimientos y vistas.

Características de SQL

La solvencia, versatilidad y consistencia de las bases de datos relacionales y de SQL, hacen de este lenguaje uno de los más importantes útiles y demandados para analizar datos.

  • Integridad de los datos.
  • Lenguaje estandarizado.
  • Sencillez y claridad.
  • Flexibilidad.

Aunque SQL es un estándar ANSI/ISO, existen diferentes versiones del lenguaje SQL. Pero para cumplir con el estándar ANSI, todos admiten al menos los comandos principales (como SELECT, UPDATE, DELETE, INSERT, WHERE) de manera similar.

Integridad de los datos

Cuando hablamos de integridad de los datos, nos referimos a asegurar que los datos sean válidos, correctos y completos. SQL y las bases de datos relacionales tienen la función de preservar esta integridad.

Tutorial SQL
SQL Tutorial

Lenguaje estandarizado

Que SQL sea un lenguaje estandarizado quiere decir que se pueden desplegar implementaciones del mismo lenguaje SQL en diferentes sistemas. De esta manera se puede utilizar el mismo código para todos ellos.

Sencillez y claridad

SQL es un lenguaje integral desde el punto de vista conceptual, esto quiere decir que SQL es un lenguaje unificado, claro y simple, de fácil comprensión.

Flexibilidad

Una de las razones por las que SQL es un lenguaje tan utilizado es por su flexibilidad, dada su versatilidad a la hora de implantar soluciones y por permitir definir diferentes formas de ver los datos para satisfacer las especificaciones requeridas por parte del usuario.


Sistemas de gestión de bases de datos relacionales

Los sistemas de gestión de bases de datos relacionales (SGBDR) permiten el almacenamiento, modificación y extracción de la información las bases de datos.

Estos son algunos de los los principales y más utilizados sistemas de gestión de bases de datos relacionales:

  • Oracle
  • SQL Server
  • MySQL
  • PostgreSQL
Tutorial SQL Server
Sistema general de Base de Datos – SQL

Oracle

Oracle ofrece uno de los sistemas de gestión de bases de datos relacionales más potente del mercado, si no el que más. Por otra parte, fué la primera empresa en comercializar el primer SGBDR, aunque quien lo desarrolló fué IBM.

SQL Server

Microsoft SQL Server fué la primera alternativa a Oracle cuando lanzó su producto de sistema general de bases de datos relacionales allá por el año 2000. Actualmente es uno de los SGBDR más utilizados en el área del business Intelligence.

MySQL

La principal característica que diferencia MySQL de SQL Server y Oracle es que MySQL es de código abierto. Otra diferencia importante es que mientras Oracle y SQL Server están diseñadas con el fin de satisfacer las necesidades de grandes empresas, MySQL está enfocada a satisfacer las necesidades a nivel usuario en las páginas web.

PostgreSQL

Las principales características de PostgreSQL, son que al igual que MySQL, es de código abierto, por otro lado es un sistema de gestión de bases de datos orientados a objetos.

Otra de sus principales características es que está liderado por la comunidad de desarrolladores que trabajan de forma desinteresada y con la finalidad de aportar una herramienta a la comunidad.


Sintaxis de SQL

Para explicar la sintaxis de SQL, en primer lugar, es importante decir que una base de datos a menudo contiene muchas tablas, a cada tabla se le asigna un nombre por ejemplo «Datos_Clientes«. Estas tablas tienen filas y columnas y contienen distintos valores.

SQL Sintaxis tutorial
SIntaxis del lenguaje de consultas SQL

Para extraer los datos o consultarlos, transformarlos o convertirlos, mostramos un resumen del curso SQL con los comandos más importantes:

SELECT: La instrucción SELECT se utiliza para seleccionar distintos datos de contiene una base de datos, A continuación mostramos un ejemplo:

SELECT Nombre, Apellidos, ...
FROM Datos_Clientes;

SELECT DISTINCT: Para seleccionar los distintos valores de una tabla se añade la instrucción:

SELECT DISTINCT Nombre, Apellidos, ...
FROM Datos_Clientes;

WHERE: La instrucción WHERE es utilizada para establecer condiciones y filtros a la query.

SELECT columna1, ...
FROM nombre_tabla
WHERE condición;

AND, OR, NOT: Los operadores AND, OR y NOT se utilizan en la cláusula WHERE, dependiendo del tipo de condición que se quiera establecer.

SELECT columna1
FROM nombre_tabla 
WHERE NOT condición1 AND/OR condición2;

IN: Este comando permite concretar valores múltiples en dentro de la cláusula WHERE.

SELECT columna1
FROM nombre_tabla
WHERE nombre_columna IN (valor1, valor2, valor3, valor4,..);

BETWEEN: Este comando de SQL selecciona valores dentro de un rango que se especifica en la cláusula WHERE. Los valores pueden ser fechas, números o texto.

SELECT columna_1
FROM nombre_tabla
WHERE nombre_columna BETWEEN valor_1 AND valor_2;

LIKE: El comando LIKE es utilizado en la cláusula WHERE para buscar un valor que contenga los caracteres que se especifiquen en una columna concreta.

SELECT columna1
FROM nombre_tabla
WHERE columna1 LIKE '%caracteres_a_buscar%';

ORDER BY: Este comando sirve para ordenar los resultados de una consulta en orden ascendente o descendente.

SELECT columna1
FROM nombre_tabla
ORDER BY columna1 ASC|DESC;

COUNT, AVG, SUM: Estas son las funciones de agregación principales ya que permiten contar, sumar o calcular promedios de una columna concreta.

SELECT COUNT(columna1)
FROM nombre_tabla
WHERE condición;

GROUP BY: Cuando se utilizan funciones de agregación, se utiliza GROUP BY para agrupar el resultado de la query en una o varias columnas.

SELECT Columna1, COUNT( Columna2)
FROM nombre_tabla
WHERE condición
GROUP BY Columna1;

HAVING: El comando HAVING es utilizado con funciones agregadas en la cláusula WHERE.

SELECT columna1
FROM nombre_tabla
WHERE condición
GROUP BY columna1
HAVING condición
ORDER BY columna1;

CREATE TABLE: Se utiliza para crear una tabla nueva en una base de datos SQL.

SELECT columna1
FROM nombre_tabla
WHERE condición
GROUP BY columna1
HAVING condición
ORDER BY columna1;

DROP TABLE: Esta instrucción de SQL es utilizada para borrar una tabla de la base de datos.

DROP TABLE tabla1;

ALTER TABLE: Este comando sirve para modificar, eliminar o añadir columnas en una tabla que ya existe en la base de datos.

ALTER TABLE nombre_tabla
ADD nombre_columna datatype;

UPDATE: Este comando es utilizado para actualizar los valores de una tabla SQL que se quiera modificar.

UPDATE tabla1
SET columna1 = valor1, columna2 = valor2
WHERE condición;

DELETE: El comando DELETE es utilizado para eliminar valores concretos de una tabla SQL.

DELETE FROM tabla1 WHERE condición;

INSERT INTO: Este comando SQL sirve para insertar valores en una tabla que ya existe.

INSERT INTO tabla1 (columna1, columna2)
VALUES (valor1, valor2);

Mayúsculas y minúsculas

SQL NO distinguen entre mayúsculas y minúsculas: En este tutorial encontrarás todos los comandos SQL en mayúsculas.

Punto y coma

Algunos sistemas de bases de datos necesitan un punto y coma al final de cada declaración SQL. El punto y coma es la forma estándar de separar cada instrucción SQL en los sistemas de bases de datos que permiten ejecutar más de una instrucción SQL en la misma llamada al servidor. En este tutorial, usaremos un punto y coma al final de cada instrucción SQL.


Historia de SQL

El término SQL significa, «Structured Query Language» (lenguaje de consulta estructurada) , ya que fué concebido para consultar o recuperar los datos de bases de datos estructuradas o relacionales, así como administrar los diferentes sistemas de gestión de bases de datos.

SQL nació en 1974 , fue IBM quien desarrolló el lenguaje SEQUEL
(por sus siglas en inglés Structured English Query Language), que es el origen del actual SQL.

IBM desarrolló SEQUEL basándose en las ideas de Edgar Frank Codd, que en 1970 había imaginado un modelo relacional con un lenguaje que permitiera el acceso a la información. En un principio se desarrolló
System R, el software de base de datos y posteriormente nació SQL, el lenguaje destinado a administrar y gestionar bases de datos.

También te puede interesar: