Introducción
En este laboratorio, aprenderá cómo consultar y filtrar datos en una base de datos SQLite. Este laboratorio práctico está diseñado para principiantes y le introducirá a técnicas SQL esenciales. Aprenderá cómo filtrar datos utilizando la cláusula WHERE, hacer coincidir patrones con LIKE, ordenar los resultados con ORDER BY y limitar el número de resultados con LIMIT. Al final de este laboratorio, podrá recuperar datos específicos de una base de datos de manera eficiente.
Conectarse a SQLite y Ver los Datos
En este primer paso, se conectará a una base de datos SQLite llamada employees.db y verá los datos dentro de la tabla staff (personal). Esto le permite comprender los datos con los que trabajará.
Abra una terminal en el entorno de la VM (máquina virtual) de LabEx. El directorio predeterminado es
/home/labex/project.Conéctese a la base de datos
employees.dbutilizando la herramienta de línea de comandossqlite3:sqlite3 employees.dbEste comando abre el shell de SQLite, indicado por el prompt
sqlite>.Vea los datos en la tabla
staff. Ejecute el siguiente comando SQL:SELECT * FROM staff;Este comando selecciona todas las columnas (
*) de la tablastaffy muestra los resultados. Debería ver la siguiente salida:1|Alice|HR 2|Bob|IT 3|Charlie|HR 4|David|IT 5|Eve|Marketing 6|Frank|ITEsta salida muestra el
id, elname(nombre) y eldepartment(departamento) de cada empleado en la tablastaff.Para salir del shell de SQLite, escriba:
.quitIMPORTANTE: Asegúrese de ejecutar
.quitantes de hacer clic en el botón "Continue" (Continuar). De lo contrario, el paso no se podrá verificar porque el historial de sqlite no se registrará.
Filtrar Datos con la Cláusula WHERE
La cláusula WHERE le permite filtrar datos basándose en condiciones específicas. Puede usarla para recuperar solo las filas que cumplan con sus criterios.
Conéctese a la base de datos
employees.db:sqlite3 employees.dbPara recuperar solo los empleados del departamento de
HR(Recursos Humanos), use el siguiente comando SQL:SELECT * FROM staff WHERE department = 'HR';Este comando selecciona todas las columnas de la tabla
staff, pero solo incluye las filas donde la columnadepartmentes igual aHR. La salida será:1|Alice|HR 3|Charlie|HRAhora, busquemos empleados con un
idmayor que 3:SELECT * FROM staff WHERE id > 3;Este comando selecciona todas las columnas de la tabla
staff, pero solo incluye las filas donde la columnaides mayor que 3. La salida será:4|David|IT 5|Eve|Marketing 6|Frank|ITSalga del shell de SQLite:
.quitIMPORTANTE: Asegúrese de ejecutar
.quitantes de hacer clic en el botón "Continue" (Continuar). De lo contrario, el paso no se podrá verificar porque el historial de sqlite no se registrará.
Búsqueda de Patrones con el Operador LIKE
El operador LIKE se utiliza para la coincidencia de patrones (pattern matching). Es útil cuando desea encontrar datos que coincidan con un patrón específico, en lugar de un valor exacto. Utilizará comodines (wildcards) como % (cero o más caracteres) y _ (un solo carácter).
Conéctese a la base de datos
employees.db:sqlite3 employees.dbPara encontrar empleados cuyos nombres comiencen con
A, use el siguiente comando:SELECT * FROM staff WHERE name LIKE 'A%';Este comando selecciona todas las columnas de la tabla
staff, pero solo incluye las filas donde la columnanamecomienza conA. El comodín%coincide con cero o más caracteres. La salida será:1|Alice|HRPara encontrar empleados cuyos nombres contengan la letra
i, use:SELECT * FROM staff WHERE name LIKE '%i%';Este comando selecciona todas las columnas de la tabla
staff, pero solo incluye las filas donde la columnanamecontiene la letrai. La salida será:1|Alice|HR 3|Charlie|HR 4|David|ITSalga del shell de SQLite:
.quit
Ordenar Datos con la Cláusula ORDER BY
La cláusula ORDER BY le permite ordenar los resultados de su consulta (query). Puede ordenar en orden ascendente (predeterminado) o descendente.
Conéctese a la base de datos
employees.db:sqlite3 employees.dbPara ordenar los datos alfabéticamente por
nameen orden ascendente, use:SELECT * FROM staff ORDER BY name;Este comando selecciona todas las columnas de la tabla
staffy ordena los resultados por la columnanameen orden ascendente (de la A a la Z). La salida será:1|Alice|HR 2|Bob|IT 3|Charlie|HR 4|David|IT 5|Eve|Marketing 6|Frank|ITPara ordenar por
nameen orden descendente, use:SELECT * FROM staff ORDER BY name DESC;Este comando selecciona todas las columnas de la tabla
staffy ordena los resultados por la columnanameen orden descendente (de la Z a la A). La salida será:6|Frank|IT 5|Eve|Marketing 4|David|IT 3|Charlie|HR 2|Bob|IT 1|Alice|HRSalga del shell de SQLite:
.quit
Limitar Resultados con la Cláusula LIMIT
La cláusula LIMIT restringe el número de filas (rows) devueltas por una consulta (query). Esto es útil cuando solo necesita un subconjunto de los datos.
Conéctese a la base de datos
employees.db:sqlite3 employees.dbPara recuperar solo las primeras 3 filas de la tabla
staff, use:SELECT * FROM staff LIMIT 3;Este comando selecciona todas las columnas de la tabla
staffy limita los resultados a las primeras 3 filas. La salida será:1|Alice|HR 2|Bob|IT 3|Charlie|HRCombine
LIMITconORDER BYpara obtener los primeros 2 empleados ordenados pornameen orden descendente:SELECT * FROM staff ORDER BY name DESC LIMIT 2;Este comando selecciona todas las columnas de la tabla
staff, ordena los resultados por la columnanameen orden descendente y limita los resultados a las primeras 2 filas. La salida será:6|Frank|IT 5|Eve|MarketingSalga del shell de SQLite:
.quit
Resumen
En este laboratorio, ha aprendido cómo consultar (query) y filtrar datos en una base de datos SQLite. Se conectó a una base de datos, filtró datos utilizando la cláusula WHERE, hizo coincidir patrones con el operador LIKE, ordenó los resultados con ORDER BY y limitó el número de filas (rows) devueltas utilizando LIMIT. Estas técnicas le proporcionan las habilidades fundamentales para recuperar y organizar datos de manera efectiva.


