Creación y gestión de bases de datos SQLite

SQLiteSQLiteBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás los fundamentos para trabajar con bases de datos SQLite utilizando la herramienta de línea de comandos sqlite3. SQLite es un sistema de base de datos ligero, basado en archivos, ideal para principiantes. Crearás una base de datos, crearás tablas, insertarás datos, consultarás datos, añadirás columnas, actualizarás datos y, finalmente, eliminarás el archivo de la base de datos. ¡Comencemos!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sqlite(("SQLite")) -.-> sqlite/SQLiteGroup(["SQLite"]) sqlite/SQLiteGroup -.-> sqlite/init_db("Create SQLite Database") sqlite/SQLiteGroup -.-> sqlite/link_db("Connect To Database") sqlite/SQLiteGroup -.-> sqlite/make_table("Create New Table") sqlite/SQLiteGroup -.-> sqlite/add_rows("Insert Multiple Rows") sqlite/SQLiteGroup -.-> sqlite/get_all("Select All Rows") sqlite/SQLiteGroup -.-> sqlite/query_where("Filter With WHERE") sqlite/SQLiteGroup -.-> sqlite/append_col("Add New Column") sqlite/SQLiteGroup -.-> sqlite/end_db("Close Database Connection") subgraph Lab Skills sqlite/init_db -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} sqlite/link_db -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} sqlite/make_table -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} sqlite/add_rows -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} sqlite/get_all -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} sqlite/query_where -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} sqlite/append_col -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} sqlite/end_db -.-> lab-552337{{"Creación y gestión de bases de datos SQLite"}} end

Crear una base de datos SQLite y conectarse

En este paso, crearás un nuevo archivo de base de datos SQLite y te conectarás a él utilizando la herramienta de línea de comandos sqlite3.

  1. Abre una terminal en el entorno de la VM (Máquina Virtual) de LabEx. Por defecto, deberías estar en el directorio /home/labex/project. Confirma esto ejecutando el siguiente comando:

    pwd

    La salida debería ser:

    /home/labex/project

    Si no estás en este directorio, navega hasta él ejecutando:

    cd /home/labex/project
  2. Crea una nueva base de datos SQLite llamada mydatabase.db y conéctate a ella utilizando el comando sqlite3:

    sqlite3 mydatabase.db

    Este comando crea el archivo mydatabase.db si no existe y abre una conexión a él. Verás el prompt (indicador) de SQLite:

    SQLite version 3.x.x
    Enter ".help" for usage hints.
    sqlite>

El comando sqlite3 se utiliza tanto para crear como para conectarse a bases de datos SQLite. Si el archivo de base de datos especificado no existe, SQLite lo creará. Ahora estás listo para ejecutar comandos SQL dentro del entorno SQLite.

Crear la tabla users

En este paso, crearás una tabla llamada users dentro de la base de datos mydatabase.db.

  1. Asegúrate de que todavía estás conectado a la base de datos mydatabase.db del paso anterior. Si no es así, reconéctate usando:

    sqlite3 mydatabase.db
  2. Crea una tabla llamada users con el siguiente comando SQL:

    CREATE TABLE users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    );

    Este comando define la estructura de la tabla users. La columna id es un entero y la clave primaria (primary key), asegurando que cada usuario tenga un identificador único. La columna name es un campo de texto que no puede dejarse vacío (NOT NULL), y la columna age es un entero.

El comando CREATE TABLE es un comando SQL fundamental utilizado para definir la estructura de una tabla en una base de datos. La restricción PRIMARY KEY asegura que la columna id contenga valores únicos para cada fila, y la restricción NOT NULL asegura que la columna name no pueda estar vacía.

Insertar datos en la tabla users

Ahora que has creado la tabla users, puedes insertar datos en ella. Esto implica añadir filas (registros) a la tabla, donde cada fila representa un usuario y su información correspondiente.

  1. Asegúrate de que todavía estás conectado a la base de datos mydatabase.db. Si no es así, reconéctate usando:

    sqlite3 mydatabase.db
  2. Inserta los siguientes registros en la tabla users utilizando el comando INSERT INTO:

    INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
    INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30);
    INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 22);

    Estos comandos añaden tres nuevas filas a la tabla users. Cada fila incluye un id, un name y un age.

El comando INSERT INTO se utiliza para añadir nuevas filas a una tabla. Los valores especificados en la cláusula VALUES se insertan en las columnas correspondientes listadas entre paréntesis después del nombre de la tabla.

Consultar datos de la tabla users

En este paso, aprenderás cómo consultar datos de la tabla users utilizando el comando SELECT. Esto te permite recuperar información específica de la base de datos.

  1. Asegúrate de que todavía estás conectado a la base de datos mydatabase.db. Si no es así, reconéctate usando:

    sqlite3 mydatabase.db
  2. Recupera todos los datos de la tabla users utilizando el siguiente comando SQL:

    SELECT * FROM users;

    Este comando selecciona todas las columnas (*) de todas las filas en la tabla users. La salida mostrará los datos que insertaste en el paso anterior. Deberías ver algo como esto:

    1|Alice|25
    2|Bob|30
    3|Charlie|22

El comando SELECT es una herramienta poderosa para recuperar datos de una base de datos. El carácter comodín * especifica que todas las columnas deben ser seleccionadas. También puedes seleccionar columnas específicas listando sus nombres separados por comas (por ejemplo, SELECT name, age FROM users;).

Añadir una nueva columna y actualizar datos

En este paso, añadirás una nueva columna llamada email a la tabla users y luego actualizarás los registros existentes con direcciones de correo electrónico.

  1. Asegúrate de que todavía estás conectado a la base de datos mydatabase.db. Si no es así, reconéctate usando:

    sqlite3 mydatabase.db
  2. Añade una nueva columna llamada email a la tabla users utilizando el comando ALTER TABLE:

    ALTER TABLE users ADD COLUMN email TEXT;

    Este comando añade una nueva columna llamada email de tipo TEXT a la tabla users.

  3. Actualiza la columna email para cada usuario utilizando el comando UPDATE:

    UPDATE users SET email = '[email protected]' WHERE id = 1;
    UPDATE users SET email = '[email protected]' WHERE id = 2;
    UPDATE users SET email = '[email protected]' WHERE id = 3;

    Estos comandos actualizan la columna email para cada usuario con una dirección de correo electrónico correspondiente.

  4. Verifica los datos actualizados consultando la tabla users:

    SELECT * FROM users;
    1|Alice|25|[email protected]
    2|Bob|30|[email protected]
    3|Charlie|22|[email protected]

El comando ALTER TABLE se utiliza para modificar la estructura de una tabla existente. En este caso, estamos añadiendo una nueva columna. El comando UPDATE se utiliza para modificar los datos existentes en una tabla. La cláusula SET especifica qué columna actualizar y el nuevo valor. La cláusula WHERE especifica qué filas actualizar basándose en una condición.

Salir de SQLite y eliminar el archivo de la base de datos

En este paso, saldrás de la interfaz de SQLite y luego eliminarás el archivo de la base de datos. Dado que SQLite almacena todos los datos en un solo archivo, eliminar una base de datos es tan simple como borrar el archivo usando el comando rm. ¡Ten cuidado, ya que esta acción es permanente!

  1. Sal de la línea de comandos (prompt) de SQLite:

    .quit
  2. Asegúrate de que estás en el directorio /home/labex/project. Confírmalo con:

    pwd

    La salida debería ser:

    /home/labex/project

    Si no es así, navega hasta él usando:

    cd /home/labex/project
  3. Elimina el archivo mydatabase.db usando el comando rm:

    rm mydatabase.db

    No habrá ninguna salida si la eliminación es exitosa.

  4. Confirma que el archivo ha sido eliminado listando el contenido del directorio de nuevo:

    ls

    Ya no deberías ver mydatabase.db en la salida, confirmando que el archivo ha sido eliminado.

El comando .quit sale del shell de SQLite y te devuelve a la terminal de Linux. El comando rm es un comando estándar de Linux utilizado para eliminar archivos. En este caso, elimina permanentemente el archivo mydatabase.db, que contiene todos los datos y la estructura de tu base de datos SQLite.

Resumen

En este laboratorio, has aprendido las habilidades esenciales para crear y gestionar bases de datos SQLite utilizando la herramienta de línea de comandos sqlite3. Has creado una base de datos, creado una tabla, insertado datos, consultado los datos, añadido una nueva columna, actualizado datos y, finalmente, eliminado el archivo de la base de datos. Estos pasos proporcionan una base sólida para trabajar con bases de datos SQLite.