Trabajando con datos en SQLite

SQLiteBeginner
Practicar Ahora

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.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 96%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

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', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');

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', 'alice@example.com') 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|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

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|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

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|alice@example.com
Bob|bob@example.com
Charlie|charlie@example.com

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|alice@example.com

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|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

Ahora, actualice la dirección de correo electrónico (email) de 'Bob' a bob.new@example.com. Introduzca este comando en el prompt sqlite>:

UPDATE users SET email = 'bob.new@example.com' 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 = 'bob.new@example.com' 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|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com

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|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com

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|alice@example.com
2|Bob|bob.new@example.com

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.