Appearance
SQL
SQL es un lenguaje de programación que se utiliza para gestionar bases de datos relacionales. SQL es un acrónimo de Structured Query Language (Lenguaje de Consulta Estructurado). Es un lenguaje con más de 40 años de antigüedad, pero que sigue siendo muy utilizado en la actualidad y cada vez es más demandado. Tiene aplicaciones en todo tipo de sectores, desde el sector bancario hasta el sector de la salud, pasando por el sector de la educación, administraciones públicas, etc.
El lenguaje es declarativo, lo que significa que no es necesario especificar como llegamos hasta los datos en nuestra estructura, sino que solo es necesario especificar qué queremos obtener.
Hay muchos sistemas de gestión de bases de datos relacionales, como MySQL, PostgreSQL, Oracle, etc. Todos estos sistemas utilizan el mismo lenguaje, SQL, pero cada uno tiene sus propias particularidades.
SQLite
SQLite es un sistema de gestión de bases de datos relacional contenida y ligera, escrita en C. Es un proyecto de dominio público, de código abierto. SQLite no es un motor de base de datos cliente-servidor tradicional como por ejemplo MySQL, PostgreSQL, etc. SQLite es una biblioteca que se enlaza con el programa que la usa. El programa y la biblioteca SQLite acceden a archivos ordinarios almacenados en disco. Esto lo hace mas simple y facil de usar en comparacion a otros sistemas, también hace que sea mas rapido y fácil de escalar.
Tablas
Las tablas son la estructura básica de una base de datos relacional. Una tabla es un conjunto de datos estructurados en filas y columnas. Cada fila de la tabla es un registro, y cada columna de la tabla es un campo. Los campos de una tabla son los atributos de los registros de la tabla.
Tipos de datos
Los tipos de datos en SQLite son los siguientes:
INTEGER
: Números enteros.REAL
: Números reales.TEXT
: Texto.BLOB
: Datos binarios.NULL
: Valor nulo.NUMERIC
: Números enteros o reales.BOOLEAN
: Valores booleanos.DATE
: Fecha.
Creación de tablas
Para crear una tabla, utilizaremos la sentencia CREATE TABLE
junto al nombre de la tabla y los campos de la tabla.
sql
CREATE TABLE alumnos (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL,
apellidos TEXT NOT NULL,
edad INTEGER NOT NULL,
email TEXT NOT NULL
);
CREATE TABLE alumnos (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL,
apellidos TEXT NOT NULL,
edad INTEGER NOT NULL,
email TEXT NOT NULL
);
sql
CREATE TABLE productos (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL,
precio REAL NOT NULL
);
CREATE TABLE productos (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL,
precio REAL NOT NULL
);
sql
CREATE TABLE pedidos (
id INTEGER PRIMARY KEY,
id_producto INTEGER NOT NULL,
cantidad INTEGER NOT NULL,
FOREIGN KEY (id_producto) REFERENCES productos (id)
);
CREATE TABLE pedidos (
id INTEGER PRIMARY KEY,
id_producto INTEGER NOT NULL,
cantidad INTEGER NOT NULL,
FOREIGN KEY (id_producto) REFERENCES productos (id)
);
Consultas
Las consultas son la forma de obtener información de una base de datos. Las consultas se realizan utilizando la sentencia SELECT
.
Obtener todos los registros
Para obtener todos los registros de una tabla, utilizaremos la sentencia SELECT
junto al nombre de la tabla.
sql
SELECT * FROM alumnos;
SELECT * FROM alumnos;
sql
SELECT * FROM productos;
SELECT * FROM productos;
Obtener registros con condiciones
Para obtener registros con condiciones, utilizaremos la sentencia SELECT
junto al nombre de la tabla y la sentencia WHERE
junto a la condición.
sql
SELECT * FROM alumnos WHERE edad > 18;
SELECT * FROM alumnos WHERE edad > 18;
sql
SELECT * FROM productos WHERE precio > 10;
SELECT * FROM productos WHERE precio > 10;
Obtener registros con condiciones y ordenados
Para obtener registros con condiciones y ordenados, utilizaremos la sentencia SELECT
junto al nombre de la tabla, la sentencia WHERE
junto a la condición y la sentencia ORDER BY
junto al campo por el que queremos ordenar.
sql
SELECT * FROM alumnos WHERE edad > 18 ORDER BY edad;
SELECT * FROM alumnos WHERE edad > 18 ORDER BY edad;
sql
SELECT * FROM productos WHERE precio > 10 ORDER BY precio;
SELECT * FROM productos WHERE precio > 10 ORDER BY precio;
Obtener registros con condiciones, ordenados y limitados
Para obtener registros con condiciones, ordenados y limitados, utilizaremos la sentencia SELECT
junto al nombre de la tabla, la sentencia WHERE
junto a la condición, la sentencia ORDER BY
junto al campo por el que queremos ordenar y la sentencia LIMIT
junto al número de registros que queremos obtener.
sql
SELECT * FROM alumnos WHERE edad > 18 ORDER BY edad LIMIT 10;
SELECT * FROM alumnos WHERE edad > 18 ORDER BY edad LIMIT 10;
Ingresar registros
Para ingresar registros, utilizaremos la sentencia INSERT INTO
junto al nombre de la tabla y los valores de los campos.
sql
INSERT INTO alumnos (nombre, apellidos, edad, email) VALUES ("Maria", "Delgado", 30, "
INSERT INTO alumnos (nombre, apellidos, edad, email) VALUES ("Maria", "Delgado", 30, "
sql
INSERT INTO productos (nombre, precio) VALUES ("Ordenador", 1000);
INSERT INTO productos (nombre, precio) VALUES ("Ordenador", 1000);
Actualizar registros
Para actualizar registros, utilizaremos la sentencia UPDATE
junto al nombre de la tabla, la sentencia SET
junto a los campos que queremos actualizar y la sentencia WHERE
junto a la condición.
sql
UPDATE alumnos SET edad = 31 WHERE id = 1;
UPDATE alumnos SET edad = 31 WHERE id = 1;
sql
UPDATE productos SET precio = 1100 WHERE id = 1;
UPDATE productos SET precio = 1100 WHERE id = 1;
Eliminar registros
Para eliminar registros, utilizaremos la sentencia DELETE FROM
junto al nombre de la tabla y la sentencia WHERE
junto a la condición.
sql
DELETE FROM alumnos WHERE id = 1;
DELETE FROM alumnos WHERE id = 1;
sql
DELETE FROM productos WHERE id = 1;
DELETE FROM productos WHERE id = 1;