Cómo instalar y utilizar SQLite en Ubuntu 20.04

El autor seleccionó el Fondo de Código Libre y Abierto para recibir una donación como parte del programa Write for DOnations .
Introducción
SQLite es un sistema de gestión de bases de datos gratuito y multiplataforma. Es popular por su eficiencia y su capacidad para interactuar con muchos lenguajes de programación diferentes.
En este tutorial, instalará SQLite en Ubuntu 20.04. Luego, creará una base de datos, leerá datos de ella, insertará elementos, eliminará elementos y unirá elementos de tablas separadas.
Nota: Este tutorial incluye instrucciones prácticas para instalar y usar SQLite. No cubre cuestiones conceptuales más amplias ni preocupaciones de producción, como cuándo se debe o no considerar el uso de una base de datos SQLite. Para obtener una excelente descripción general de las bases de datos relacionales más populares y cómo se comparan, consulte nuestro artículo SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems .
Además, muchos lenguajes mantienen integraciones con SQLite. Para obtener instrucciones sobre cómo usar SQLite dentro de su código Python, consulte nuestro tutorial Cómo usar el sqlite3
módulo en Python 3 .
Prerrequisitos
Para completar este tutorial, necesitarás:
- Una máquina o servidor local con Ubuntu 20.04. Para configurar un servidor, incluido un usuario sudo que no sea root y un firewall, puede crear un Droplet de DigitalOcean con Ubuntu 20.04 y luego seguir nuestra Guía de configuración inicial del servidor .
Paso 1: Instalación de SQLite en Ubuntu 20.04
Para instalar la interfaz de línea de comandos SQLite en Ubuntu, primero actualice su lista de paquetes:
- sudo apt update
Ahora instale SQLite:
- sudo apt install sqlite3
Para verificar la instalación, verifique la versión del software:
- sqlite3 --version
Recibirás un resultado como este:
Output3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
Con SQLite instalado, ahora está listo para crear una nueva base de datos.
Paso 2: Creación de una base de datos SQLite
En este paso, creará una base de datos que contenga diferentes tiburones y sus atributos. Para crear la base de datos, abra su terminal y ejecute este sqlite3
comando:
- sqlite3 sharks.db
Esto creará una nueva base de datos llamada sharks
. Si el archivo sharks.db
ya existe, SQLite abrirá una conexión con él; si no existe, SQLite lo creará.
Recibirás un resultado como este:
OutputSQLite version 3.31.1 2020-01-27 19:55:54Enter ".help" for usage hints.
A continuación, el mensaje cambiará. sqlite
Ahora aparecerá un nuevo prefijo, :
Si el archivo sharks.db
aún no existe y sale de la sqlite
promoción sin ejecutar ninguna consulta, el archivo sharks.db
no se creará. Para asegurarse de que se cree el archivo, puede ejecutar una consulta vacía escribiendo ;
y presionando “Enter”. De esa manera, se asegurará de que el archivo de base de datos se haya creado realmente.
Una vez creada la base de datos Shark, ahora creará una nueva tabla y la completará con datos.
Paso 3: Creación de una tabla SQLite
Las bases de datos SQLite están organizadas en tablas, que almacenan información. Para visualizar mejor una tabla, podemos imaginar filas y columnas.
El resto de este tutorial seguirá una convención común para ingresar comandos SQLite. Los comandos SQLite se escriben en mayúsculas y la información del usuario en minúsculas. Las líneas deben terminar con punto y coma.
Ahora vamos a crear una tabla y algunas columnas para varios datos:
- Una identificación
- El nombre del tiburón
- El tipo de tiburón
- Longitud media del tiburón (en centímetros)
Utilice el siguiente comando para crear la tabla:
- CREATE TABLE sharks(id integer NOT NULL, name text NOT NULL, sharktype text NOT NULL, length integer NOT NULL);
El uso NOT NULL
hace que ese campo sea obligatorio. Lo analizaremos NOT NULL
con más detalle en la siguiente sección.
Después de crear la tabla, aparecerá un mensaje vacío. Ahora, insertemos algunos valores en ella.
Inserción de valores en tablas
En SQLite, el comando para insertar valores en una tabla sigue esta forma general:
- INSERT INTO tablename VALUES(values go here);
¿Dónde tablename
está el nombre de tu tabla y values
va dentro de los paréntesis?
Ahora inserte tres filas VALUES
en su sharks
tabla:
- INSERT INTO sharks VALUES (1, "Sammy", "Greenland Shark", 427);
- INSERT INTO sharks VALUES (2, "Alyoshka", "Great White Shark", 600);
- INSERT INTO sharks VALUES (3, "Himari", "Megaladon", 1800);
Como ya especificó anteriormente NOT NULL
para cada una de las variables de su tabla, debe ingresar un valor para cada una.
Por ejemplo, intenta agregar otro tiburón sin establecer su longitud:
- INSERT INTO sharks VALUES (4, "Faiza", "Hammerhead Shark");
Recibirás este error:
OutputError: table sharks has 4 columns but 3 values were supplied
En este paso, creaste una tabla e insertaste valores en ella. En el siguiente paso, leerás desde la tabla de tu base de datos.
Paso 4: Lectura de tablas en SQLite
En este paso, nos centraremos en los métodos más básicos para leer datos de una tabla. Reconozca que SQLite proporciona métodos más específicos para ver datos en tablas.
Para ver su tabla con todos los valores insertados, utilice SELECT
:
- SELECT * FROM sharks;
Verás las entradas insertadas anteriormente:
Output1|Sammy|Greenland Shark|4272|Alyoshka|Great White Shark|6003|Himari|Megaladon|1800
Para ver una entrada en función de sus id
valores (que configuramos manualmente), agregue el WHERE
comando a su consulta:
- SELECT * FROM sharks WHERE id IS 1;
Esto devolverá el tiburón cuyo id
valor es igual a 1
:
Output1|Sammy|Greenland Shark|427
Veamos este comando más de cerca.
- Primero,
SELECT
todos (*
) valores de nuestra base de datos,sharks
. - Luego miramos todos
id
los valores. - Luego devolvemos todas las entradas de la tabla donde
id
es igual a1
.
Hasta ahora ha creado una tabla, insertado datos en ella y consultado los datos guardados. Ahora actualizará la tabla existente.
Paso 5: Actualización de tablas en SQLite
En las siguientes dos secciones, primero agregará una nueva columna a su tabla existente y luego actualizará los valores existentes en la tabla.
Cómo agregar columnas a tablas SQLite
SQLite le permite cambiar su tabla mediante el ALTER TABLE
comando. Esto significa que puede crear nuevas filas y columnas o modificar filas y columnas existentes.
Úselo ALTER TABLE
para crear una nueva columna. Esta nueva columna registrará la edad de cada tiburón en años:
- ALTER TABLE sharks ADD COLUMN age integer;
Ahora tienes una quinta columna, age
.
Actualización de valores en tablas SQLite
Usando el UPDATE
comando, agrega nuevos age
valores para cada uno de tus tiburones:
- UPDATE sharks SET age = 272 WHERE id=1;
- UPDATE sharks SET age = 70 WHERE id=2;
- UPDATE sharks SET age = 40 WHERE id=3;
Output1|Sammy|Greenland Shark|427|2722|Alyoshka|Great White Shark|600|703|Himari|Megaladon|1800|40
En este paso, modificó la composición de la tabla y luego actualizó los valores dentro de ella. En el siguiente paso, eliminará información de una tabla.
Paso 6: Eliminar información en SQLite
En este paso eliminará entradas de su tabla según la evaluación de un argumento.
En el siguiente comando estás consultando tu base de datos y solicitando que elimine todos los tiburones de tu sharks
tabla cuya edad sea menor a 200:
- DELETE FROM sharks WHERE age = 200;
Al escribir, SELECT * FROM sharks;
se comprobará que Alyoshka
y Himari
, que tenían menos de 200 años, fueron eliminados. Solo Sammy
queda el tiburón de Groenlandia:
Output1|Sammy|Greenland Shark|427|272
Paso 7: Unir información en SQLite
Imaginemos que tuviéramos dos tablas: nuestra sharks
tabla actual y una endangered
tabla. ¿Qué sucedería si la endangered
tabla tuviera un id
valor que se asignara a la id
s de nuestra sharks
tabla y también tuviera un status
valor que indicara el estado de conservación de cada tiburón?
Si desea consultar datos de ambas tablas, puede utilizar uno de los cuatro comandos de unión de SQLite:
INNER JOIN
OUTER JOIN
LEFT JOIN
CROSS JOIN
Creemos esa segunda tabla y luego usémosla INNER JOIN
para unir algunos datos.
Primero, crea tu endangered
tabla:
- CREATE TABLE endangered (id integer NOT NULL, status text NOT NULL);
- INSERT INTO endangered VALUES (1, "near threatened");
Ahora une tus mesas:
- SELECT * FROM sharks INNER JOIN endangered on sharks.id = endangered.id;
El resultado se verá así:
Output1|Sammy|Greenland Shark|427|272|1|near threatened
Tenga en cuenta que la salida también incluye el id
valor de endangered
. Puede especificar la salida deseada con un comando más explícito:
- SELECT sharks.id, sharks.name, sharks.sharktype, sharks.length, sharks.age, endangered.status FROM sharks INNER JOIN endangered on sharks.id = endangered.id;
Esta vez la salida excluye el segundo id
valor:
Output1|Sammy|Greenland Shark|427|272|near threatened
Ahora ha unido con éxito la información de varias tablas.
Conclusión
SQLite es una herramienta útil para la gestión de bases de datos. Se puede crear rápidamente una base de datos y manipularla con varios comandos. Después de este tutorial, ya tiene conocimientos básicos de SQLite y está preparado para profundizar en este sistema de gestión de bases de datos.
Para obtener una excelente descripción general de los sistemas de bases de datos relacionales y cómo se comparan, consulte nuestro artículo, SQLite vs MySQL vs PostgreSQL: una comparación de los sistemas de administración de bases de datos relacionales .
Además, muchos lenguajes mantienen integraciones con SQLite. Para obtener instrucciones sobre cómo usar SQLite dentro de su código Python, consulte nuestro tutorial Cómo usar el sqlite3
módulo en Python 3 .
Para obtener ayuda específica con la sintaxis de SQLite, la documentación oficial es otro recurso excelente .
Deja una respuesta