Pildoritas de Bases de Datos: SQL. Tipos de Comandos

A petición popular (si entendemos como popular más de una persona) sigo con las Pildoritas de Bases de Datos.

Después de explicar el diseño de modelos relacionales vamos a pasar a la chicha, es decir, a crear modelos de datos relacionales y manipularlos. Para realizar esta tarea todos los motores de bases de datos relacional usan un lenguaje de datos normalizado (aunque con leves diferencias entre tecnologías) llamado SQL.

SQL (Structured Query Language) es un lenguaje declarativo de acceso a bases de datos que aplica álgebra relacional para obtener y manipular conjuntos de datos desde un modelo relacional (ahora seguramente entendáis por qué empecé con los dos anteriores posts). SQL también permite ejecutar otra serie de comandos enfocados en la definición de modelos de datos relacionales.

SQL está compuesto de dos tipos de comandos:

  • DLL (Data Definition Language): Permite crear y definir bases de datos, tablas, campos, índices…
  • DML (Data Manipulation Language): Filtra y ordena los datos que queremos manipular.

 

 

Comandos DDL

CREATE

Sirve para crear un nuevo objeto dentro del gestor de bases de datos. Los objetos de una bases de datos son tablas, índices, procedimientos almacenados y vistas.

Creación de una base de datos:

CREATE DATABASE NOMBRE_BASE_DE_DATOS

Creación de un índice:

CREATE INDEX NOMBRE_ÍNDICE ON "NOMBRE_TABLA" (NOMBRE_COLUMNA)

Creación de un procedimiento almacenado:

CREATE CREATE PROCEDURE NOMBRE_PROCEDIMIENTO
[PARAMETROS] 
AS 
(Sentencias SQL)
[RETURN [VALOR]]

*La definición de los procedimientos almacenados suele cambiar dependiendo del motor de bases de datos utilizado. En este caso he utilizado SQL Server, no obstante, la estructura es muy similar en el resto de motores, por lo que para definir un procedimiento almacenado en otra bases de datos con mirar la documentación os bastará.

Creación de una vista:

CREATE VIEW NOMBRE_VISTA AS
SUBCONSULTA;

ALTER

El comando ALTER permite realizar modificaciones en un objeto de la base de datos ya existente.

El uso más común del comando ALTER es el enfocado en la edición de una tabla, ALTER TABLE.

Por ejemplo, para agregar una nueva columna a una tabla ya existente ejecutaríamos el siguiente comando:

ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO TIPO;

No obstante, el comando ALTER, como todos los comandos DLL, es aplicable a cualquier objeto de la base de datos.

DROP

Sirve para eliminar objetos de la base de datos. Por ejemplo, podríamos borrar una tabla con la siguiente sentencia:

DROP TABLE 'NOMBRE_TABLA'

 

 

 

Comandos DML

SELECT

Este comando sirve para recuperar un conjunto de datos siguiendo unos criterios de filtrado.

El comando SELECT, así como los comandos UPDATE y DELETE, necesitan su vez de una serie de clausulas, en las cuales entraré en el próximo post, que indicaran de donde obtener la información y que condiciones deben cumplir dichos datos.

No obstante, con indicar la procedencia de los datos ya podríamos crear nuestra primera consulta:

SELECT CAMPO FROM TABLA

Esta sentencia recuperaría todos los datos de la tabla, pero como podéis imaginar podemos querer filtrar estos campos para obtener sólo un subconjunto (utilizando las clausulas WHERE y HAVING) o agruparlos y ordenarlos de una determinada forma (por medio de las clausulas GROUP BY y ORDER BY)

INSERT

la sentencia INSERT agrega registros a la base de datos. La forma básica de este comando es el siguiente:

INSERT INTO 'NOMBRE_TABLA' ('COLUMNA1',['COLUMNA2,... '])
VALUES ('VALOR1', ['VALOR2,...'])

No obstante, y dependiendo del motor de bases de datos, se pueden insertar en una sentencia varios registros indicados de forma literal o incluso por medio de una consulta.

UPDATE y DELETE

La sentencia UPDATE sirve para modificar los valores de un conjunto de registros existentes en una tabla.

UPDATE NOMBRE_TABLA SET CAMPO = 'VALOR' WHERE CAMPO = 'VALOR';

El comando DELETE elimina uno o varios registros de una tabla:

DELETE FROM NOMBRE_TABLA WHERE CAMPO = 'VALOR';

Y hasta aquí ha llegado la primera pildorita de SQL. Se que ha sido un peñazo terrible, pero hay que empezar con un poco de teoría inicial para poder enterarnos de la sintaxis básica del lenguaje. En las siguientes entregas intentaré que la lectura sea más práctica y amena.

En el próximo post hablaré de las clausulas, los operadores lógicos y las funciones de agregado.

Índice de Pildoritas

Share