Trabajando con datos en 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á las operaciones fundamentales para trabajar con datos en SQLite, una base de datos ligera basada en archivos, ideal para principiantes. A través de la práctica en el entorno de la máquina virtual (VM) LabEx, creará una base de datos, configurará tablas y realizará tareas centrales como insertar datos, consultar registros, actualizar información y eliminar entradas. Esta guía paso a paso le ayudará a construir una base sólida en la gestión de bases de datos utilizando comandos SQL sencillos, diseñados para aquellos que son nuevos en las bases de datos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sqlite(("SQLite")) -.-> sqlite/SQLiteGroup(["SQLite"]) sqlite/SQLiteGroup -.-> sqlite/init_db("Create SQLite 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/edit_row("Update Single Row") sqlite/SQLiteGroup -.-> sqlite/drop_row("Delete Single Row") subgraph Lab Skills sqlite/init_db -.-> lab-552340{{"Trabajando con datos en SQLite"}} sqlite/make_table -.-> lab-552340{{"Trabajando con datos en SQLite"}} sqlite/add_rows -.-> lab-552340{{"Trabajando con datos en SQLite"}} sqlite/get_all -.-> lab-552340{{"Trabajando con datos en SQLite"}} sqlite/query_where -.-> lab-552340{{"Trabajando con datos en SQLite"}} sqlite/edit_row -.-> lab-552340{{"Trabajando con datos en SQLite"}} sqlite/drop_row -.-> lab-552340{{"Trabajando con datos en SQLite"}} end

Crear una base de datos y una tabla SQLite

En este primer paso, creará una base de datos SQLite y configurará una tabla para almacenar datos. SQLite es una base de datos ligera que almacena los datos en un solo archivo, lo que facilita su uso con fines de aprendizaje.

Primero, abra su terminal en la máquina virtual (VM) LabEx. Su ruta predeterminada es /home/labex/project.

Ahora, vamos a crear una base de datos SQLite llamada mydb.sqlite. Ejecute el siguiente comando para crear el archivo de la base de datos y abrir la herramienta de línea de comandos de SQLite:

sqlite3 mydb.sqlite

Verá un indicador que muestra que ahora está dentro del shell de SQLite:

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

A continuación, cree una tabla llamada users para almacenar información básica del usuario. Esta tabla tendrá tres columnas: id (un identificador único), name y email. Introduzca el siguiente comando SQL en el prompt sqlite> y pulse Intro:

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

Este comando configura la tabla users donde:

  • id es un entero que aumenta automáticamente para cada nueva entrada. La restricción PRIMARY KEY asegura que cada id sea único, y AUTOINCREMENT hace que aumente automáticamente.
  • name es un campo de texto que no puede dejarse vacío (NOT NULL).
  • email es también un campo de texto que no puede dejarse vacío (NOT NULL).

No verá ninguna salida si el comando se ejecuta correctamente.

Insertar datos en la tabla

Ahora que ha creado la tabla users, vamos a añadir algunos datos a ella. Insertaremos tres registros de usuario en la tabla.

Inserte tres registros de usuario en la tabla users ejecutando estos comandos uno por uno en el prompt sqlite>:

INSERT INTO users (name, email) VALUES ('Alice', '[email protected]');
INSERT INTO users (name, email) VALUES ('Bob', '[email protected]');
INSERT INTO users (name, email) VALUES ('Charlie', '[email protected]');

Estos comandos añaden tres filas a la tabla users. Observe que no especifica un valor para la columna id porque se incrementa automáticamente con cada nueva entrada.

  • INSERT INTO users (name, email) especifica que está insertando datos en las columnas name y email de la tabla users.
  • VALUES ('Alice', '[email protected]') proporciona los valores que se insertarán para cada registro.

Para confirmar que los datos se han añadido correctamente, ejecute este comando para ver todos los registros de la tabla:

SELECT * FROM users;

Resultado esperado:

1|Alice|[email protected]
2|Bob|[email protected]
3|Charlie|[email protected]

Esta salida muestra el id, name y email para cada registro. El comando SELECT * recupera todas las columnas de la tabla especificada.

Consultar datos con SELECT

En este paso, aprenderá a recuperar datos de su tabla utilizando la sentencia SELECT. La consulta de datos es una habilidad fundamental para trabajar con bases de datos, ya que le permite ver y analizar la información almacenada.

En el prompt sqlite>, primero vamos a recuperar todos los datos de la tabla users. Ejecute este comando:

SELECT * FROM users;

Resultado esperado:

1|Alice|[email protected]
2|Bob|[email protected]
3|Charlie|[email protected]

El * en SELECT * significa "todas las columnas", por lo que este comando muestra cada columna y fila de la tabla users.

A continuación, puede elegir columnas específicas para mostrar. Para ver solo las columnas name y email, ejecute:

SELECT name, email FROM users;

Resultado esperado:

Alice|[email protected]
Bob|[email protected]
Charlie|[email protected]

Este comando limita la salida solo a las columnas especificadas, omitiendo el id.

Finalmente, filtre los datos utilizando una condición con la cláusula WHERE. Para ver solo el registro de 'Alice', ejecute:

SELECT * FROM users WHERE name = 'Alice';

Resultado esperado:

1|Alice|[email protected]

La cláusula WHERE reduce los resultados a las filas que coinciden con la condición, en este caso, donde el name es 'Alice'.

  • SELECT * FROM users selecciona todas las columnas de la tabla users.
  • WHERE name = 'Alice' filtra los resultados para incluir solo las filas donde la columna name es igual a 'Alice'.

Actualizar registros en la tabla

Ahora, aprenderá a modificar los datos existentes en su tabla utilizando la sentencia UPDATE. La actualización de registros es importante cuando necesita corregir o cambiar información en una base de datos.

Primero, compruebe los datos actuales en la tabla users para ver qué va a actualizar. Ejecute:

SELECT * FROM users;

Resultado esperado:

1|Alice|[email protected]
2|Bob|[email protected]
3|Charlie|[email protected]

Ahora, actualice la dirección de correo electrónico (email) de 'Bob' a [email protected]. Introduzca este comando en el prompt sqlite>:

UPDATE users SET email = '[email protected]' WHERE name = 'Bob';

No verá ninguna salida si el comando tiene éxito. Este comando cambia el valor de email para la fila donde name es 'Bob'. La cláusula WHERE asegura que solo se actualice el registro coincidente.

  • UPDATE users especifica que está actualizando la tabla users.
  • SET email = '[email protected]' establece el nuevo valor para la columna email.
  • WHERE name = 'Bob' filtra la actualización para que solo se aplique a la fila donde el name es 'Bob'.

Verifique el cambio consultando la tabla de nuevo:

SELECT * FROM users;

Resultado esperado:

1|Alice|[email protected]
2|Bob|[email protected]
3|Charlie|[email protected]

Puede ver que el correo electrónico (email) de Bob se ha actualizado.

Eliminar registros de la tabla

En este paso final, aprenderá a eliminar datos de su tabla utilizando la sentencia DELETE. Eliminar registros es necesario cuando necesita limpiar datos obsoletos o incorrectos de una base de datos.

Primero, vea los datos actuales en la tabla users para identificar lo que va a eliminar. Ejecute:

SELECT * FROM users;

Resultado esperado:

1|Alice|[email protected]
2|Bob|[email protected]
3|Charlie|[email protected]

Ahora, elimine el registro de 'Charlie' ejecutando este comando:

DELETE FROM users WHERE name = 'Charlie';

No verá ninguna salida si el comando tiene éxito. Este comando elimina la fila donde name es 'Charlie'. La cláusula WHERE asegura que solo se elimine el registro especificado.

  • DELETE FROM users especifica que está eliminando de la tabla users.
  • WHERE name = 'Charlie' filtra la eliminación para que solo se aplique a la fila donde el name es 'Charlie'.

Verifique la eliminación consultando la tabla de nuevo:

SELECT * FROM users;

Resultado esperado:

1|Alice|[email protected]
2|Bob|[email protected]

Puede ver que el registro de Charlie ya no está en la tabla.

Resumen

En este laboratorio, ha aprendido las habilidades esenciales para trabajar con datos en SQLite dentro del entorno de la VM (máquina virtual) de LabEx. Creó una base de datos y una tabla SQLite, insertó datos utilizando la sentencia INSERT INTO, consultó información con SELECT, actualizó registros con UPDATE y eliminó entradas utilizando DELETE. Estos ejercicios prácticos proporcionaron una introducción completa a la gestión de bases de datos, equipándolo con el conocimiento fundamental para manejar datos de manera efectiva utilizando SQLite.