sqliteonline
En la sección anterior recomendé la web sqliteonline.com para que desde Internet cualquiera pueda practicar o probar expresiones SQL (con el motor SQLite) sin instalarlo en su equipo.
Historia técnica del lenguaje SQL
En esta sección amplié la historia técnica del lenguaje SQL para bases de datos relacionales.
SQL y SQLite
SQL es un lenguaje declarativo estándar para acceder a bases de datos relacionales, modificarlas y hacer consultas de datos. Es declarativo porque indica lo que desea o necesita hallar, en vez de indicar cómo lograrlo. Así mismo, el software SQLite (el que estoy usando para probar SQL) es un intérprete o motor SQL que, al ser instalado en un computador, recibe-ejecuta-da-resultados según las instrucciones SQL ingresadas.
- Sintaxis para comentarios en SQL: Los comentarios no son tomados en cuenta por el intérprete virtual en un lenguaje de programación. Los comentarios son útiles para dar pistas o explicaciones a otros acerca de cómo se está usando el código.
En SQL-- Soy un comentario CREATE TABLE bandas (banda TEXT); - Cuidado: Unirlos puede dar errores, como en
--Esto
Expresiones SQL para crear una sencilla tabla e ingresar datos en SQLite
En el código y a lo largo de esta sección se mostrarán en mayúsculas cada cláusula (una sección de un todo) para casi todas las expresiones (conjunto de cláusulas y operadores) de acceso y manipulación de bases de datos relacionales en el motor SQLite. A esas operaciones de edición se las conoce como CRUD: crear, leer, actualizar y borrar, en español.
Cláusulas y expresiones
En SQL una cláusula es un segmento (realmente, una palabra clave) con un comportamiento único (como la cláusula SELECT para apuntar a un elemento de la tabla). Mientras que una expresión es un conjunto de cláusulas, como en CREATE TABLE tabla().
Como primer ejemplo, el código de abajo crea una tabla de nombre bandas a la que se le inserta datos. Cada paréntesis indica una fila (o tupla) ingresada a la tabla.
❌ ¿Qué sería un error? Omitir el punto y coma después de cada instrucción. Tanto en el último paréntesis del CREATE TABLE... como en el último paréntesis del INSERT INTO. El punto y coma le dice al sistema 'hasta aquí es mi instrucción'.
En SQL
CREATE TABLE bandas (
banda TEXT,
ciudad TEXT,
miembros INTEGER
);
INSERT INTO bandas (banda, ciudad, miembros)
VALUES
('Broca', 'Gye', 3),
('Ultratumba', 'Gye', 4),
('Vibora Julieta', 'Gye', 3);
Luego de crearse la tabla, la siguiente expresión (donde el asterisco significa todos):
En SQL
SELECT * FROM bandas;
Devuelve el contenido de esa tabla:
En SQLITE
banda |ciudad|miembros|
--------------+------+--------+
Broca |Gye | 3|
Ultratumba |Gye | 4|
Vibora Julieta|Gye | 3|
Es larga la lista de cláusulas SQL como para aprenderlas de forma aislada. Decidí seguir la secuencia en dos libros que considero claves: Learning SQL Generate, Manipulate, and Retrieve Data, de Alan Beaulieu; y SQL Pocket Guide, de Alice Zhao. En caso de usar más bibliografía, la indicaré. Finalmente, aplicaré y responderé a cada cláusula (o conjunto de ellas) una lista de indagadores 🕵🏽♂️ para comprender mejor sus características (como si fuésemos unos implacables detectives del código):
Lista de indagadores para sintaxis SQL
- Qué metáfora mental representa: ...
- A dónde apunta: ...
- Qué obtiene/origina: ...
- Qué transforma: ...
- Qué propósito tiene: ...
- Dónde opera: ...
- De quién depende: ...
- Con qué puede combinarse: ...
- Qué errores podría provocar y por qué: ...
En caso de tener más indagadores (como yo les llamo a esas preguntas) házmela saber en los comentarios.
Siguiente artículo: tipos de datos en SQL para SQLite
Estudio de bases de datos relacionales.