🧚 ¡Escucha! Beekeeper Studio es una GUI para SQLite rápida, moderna y de código abierto Descarga
16 de junio de 2024 Por Matthew Rathbone

Introducción

SQLite es un motor de bases de datos popular, conocido por su simplicidad y eficiencia para administrar bases de datos relacionales. Es un motor de bases de datos SQL embebido, lo que significa que suele usarse directamente dentro de las aplicaciones, como una solución ligera que no necesita un proceso de servidor aparte. En este tutorial veremos cómo listar las tablas de una base de datos SQLite, una tarea común cuando te estás familiarizando con la estructura de una base de datos existente o cuando estás depurando.

Requisitos previos

Necesitas tener SQLite instalado y accesible. Puedes interactuar con bases de datos SQLite de varias formas, como la línea de comandos, un script de Python o herramientas con GUI como Beekeeper Studio. En esta guía usaremos la herramienta de línea de comandos de SQLite, ya que está disponible en todos lados.

Cómo acceder a la base de datos SQLite

Para empezar, abre tu terminal o símbolo del sistema y accede a tu base de datos SQLite con la herramienta de línea de comandos de SQLite. El comando general para empezar a interactuar con tu base de datos es:

sqlite3 your_database_file.db

Reemplaza ‘your_database_file.db’ con la ruta a tu archivo de base de datos SQLite.

Listar tablas con el comando .tables

SQLite ofrece el comando .tables como una forma sencilla de listar todas las tablas disponibles en tu base de datos activa.

Desde la shell de línea de comandos de SQLite, escribe lo siguiente:

.tables

Al ejecutar este comando, SQLite te devolverá una lista con los nombres de todas las tablas de tu base de datos actual.

Salida esperada: (usando la base de datos de ejemplo ‘sakila.db’)

actor                   experiments             payment
address                 film                    rental
category                film_actor              sales_by_film_category
city                    film_category           sales_by_store
country                 film_list               staff
customer                film_text               staff_list
customer_list           inventory               store
events                  language

¿Cómo funciona el comando .tables?

SQLite le indica a la base de datos que devuelva los nombres de todas las tablas y vistas de la base de datos principal y de las adjuntas. Internamente, lo hace ejecutando un comando SELECT sobre la tabla sqlite_master.

Consultar la tabla sqlite_master

Si quieres más control, puedes consultar directamente la tabla ‘sqlite_master’, que guarda los metadatos de la base de datos, incluidas las definiciones de las tablas.

Por ejemplo:

SELECT name FROM sqlite_master WHERE type='table';

Este comando SQL selecciona todos los registros de la columna name de la tabla sqlite_master donde type es ‘table’.

Salida esperada: (usando la base de datos de ejemplo ‘sakila.db’)

---------------
actor
sqlite_sequence
country
city
address
language
category
customer
film
film_actor
film_category
film_text
inventory
staff
store
payment
rental
experiments
events

Mostrar el esquema de una tabla con el comando .schema

Para revisar la estructura o ‘esquema’ de tu tabla (es decir, sus columnas y sus respectivos tipos de datos), SQLite ofrece el comando .schema:

.schema your_table_name

Salida esperada: (usando la tabla ‘actor’ de la base de datos de ejemplo ‘sakila.db’)

CREATE TABLE actor (
  actor_id integer PRIMARY KEY AUTOINCREMENT NOT NULL,
  first_name VARCHAR(45) NOT NULL,
  last_name VARCHAR(45) NOT NULL,
  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
  , "email_address" VARCHAR(255) NULL);
CREATE INDEX idx_actor_last_name ON actor(last_name)
;
CREATE TRIGGER actor_trigger_ai AFTER INSERT ON actor
 BEGIN
  UPDATE actor SET last_update = DATETIME('NOW')  WHERE rowid = new.rowid;
 END;
CREATE TRIGGER actor_trigger_au AFTER UPDATE ON actor
 BEGIN
  UPDATE actor SET last_update = DATETIME('NOW')  WHERE rowid = new.rowid;
 END;

Reemplaza ‘your_table_name’ con el nombre de tu tabla.

Este comando devuelve la sentencia CREATE TABLE que se usó para crear la tabla en tu base de datos.

Usar una sentencia SQL SELECT

Otra opción es obtener el esquema con una sentencia SELECT sobre la tabla sqlite_master:

SELECT sql FROM sqlite_master WHERE name = 'your_table_name';

Este comando devuelve la misma sentencia CREATE TABLE que el comando .schema, pero sin las sentencias ‘INDEX’ y ‘TRIGGER’.

Usar el comando PRAGMA para obtener información de una tabla

Otra alternativa en SQLite es usar el comando PRAGMA, que te da distintas características de la base de datos SQLite. Un comando PRAGMA muy útil es ‘table_info’, con el que puedes obtener información sobre las columnas de una tabla.

Aunque ‘table_info’ no lista todas las tablas, puedes usarlo junto con los comandos para listar tablas y entender su estructura en cuanto encuentres sus nombres.

Ejemplo:

PRAGMA table_info('actor');

Salida esperada: (usando la tabla ‘actor’ de la base de datos de ejemplo ‘sakila.db’)

cid  name           type          notnull  dflt_value         pk
---  -------------  ------------  -------  -----------------  --
0    actor_id       INTEGER       1                           1
1    first_name     VARCHAR(45)   1                           0
2    last_name      VARCHAR(45)   1                           0
3    last_update    TIMESTAMP     1        CURRENT_TIMESTAMP  0
4    email_address  VARCHAR(255)  0                           0

Cada fila representa una columna de la tabla ‘actor’, y los campos muestran, respectivamente, el ‘cid’, el ‘name’ y el ‘type’ de la columna, si es ‘not null’, su ‘default value’ y si es ‘primary key’.

Conclusión

Listar tablas en SQLite es una habilidad fundamental para administrar e inspeccionar bases de datos. Ya sea que uses el comando .tables para una lista rápida, consultes la tabla sqlite_master para un enfoque más programático o uses sentencias PRAGMA para obtener información detallada sobre la estructura de las tablas, SQLite te ofrece varias herramientas para entender tu base de datos e interactuar con ella de forma eficaz.

Aunque entender y escribir comandos SQL para ver tus tablas de SQLite puede ser satisfactorio, también puede ser complejo y quitarte mucho tiempo, sobre todo con bases de datos enormes.

Beekeeper Studio te ofrece una interfaz amigable para las tablas de tu base de datos, lo que hace mucho más cómodo navegar entre muchas tablas.

Además, para ver el esquema de cualquier tabla, solo haz clic en su nombre y el esquema aparecerá en un formato bien estructurado.

Beekeeper Studio es una GUI para SQLite gratuita y de código abierto

Esto es justo lo que necesitaba. La interfaz es ágil y limpia, funciona como quiero y espero, y simplemente cumple. Es la herramienta perfecta para trabajar con mis bases de datos SQLite. - Andy

Beekeeper Studio es un cliente de SQLite rápido, intuitivo y fácil de usar. También es compatible con muchísimas otras bases de datos y funciona de maravilla en Windows, Mac y Linux.

La versión de Beekeeper para Linux tiene el 100% de las funciones, sin recortes ni concesiones.

Lo que dicen los usuarios de SQLite sobre Beekeeper Studio

Tagser Programador en formación (sin cargo ni empleo)

¡Nunca entendí de verdad cómo funciona el diseño de modelos hasta que empecé a usar esto para consultar y ver la base de datos! Estoy agradecido por tenerlo en mi camino. Lo recomiendo a quien esté aprendiendo Django + sqlite, porque es lo único para lo que lo he usado hasta ahora.

George Wright

Dos cosas clave. Primero, la conectividad. No tengo que usar DB Browser for SQLite, MySQL Workbench para MySQL ni psql para PostgreSQL. Beekeeper funciona con todas. Segundo: la IA. La función de IA convierte inglés en SQL.

¿Listo para mejorar tu flujo de trabajo con SQLite?

download Descarga gratis