🧚 Escute! O Beekeeper Studio é uma GUI para SQLite rápida, moderna e open source Baixar
16 de junho de 2024 Por Matthew Rathbone

Introdução

O SQLite é um mecanismo de banco de dados popular, conhecido pela simplicidade e eficiência no gerenciamento de bancos de dados relacionais. Ele é um mecanismo de banco de dados SQL embarcado, o que significa que costuma ser usado diretamente dentro das aplicações, oferecendo uma solução leve sem a necessidade de um processo de servidor separado. Neste tutorial, vamos ver como listar as tabelas de um banco de dados SQLite, uma tarefa comum quando você está se familiarizando com a estrutura de um banco existente ou depurando algo.

Pré-requisitos

Você precisa ter o SQLite instalado e acessível. É possível interagir com bancos SQLite de várias formas, como pela linha de comando, por um script Python ou por ferramentas gráficas como o Beekeeper Studio. Este guia usa a ferramenta de linha de comando do SQLite, já que ela está disponível em qualquer lugar.

Acessando o banco de dados SQLite

Para começar, abra o terminal ou prompt de comando e acesse seu banco de dados SQLite usando a ferramenta de linha de comando do SQLite. O comando geral para começar a interagir com seu banco é:

sqlite3 your_database_file.db

Substitua ‘your_database_file.db’ pelo caminho do seu arquivo de banco de dados SQLite.

Listando tabelas com o comando .tables

O SQLite oferece o comando .tables como uma forma fácil de listar todas as tabelas disponíveis no banco de dados ativo.

No shell de linha de comando do SQLite, digite o seguinte:

.tables

Ao executar esse comando, o SQLite retorna uma lista com os nomes de todas as tabelas do banco de dados atual.

Saída esperada: (usando o banco de exemplo ‘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

Como o comando .tables funciona?

O SQLite instrui o banco a retornar os nomes de todas as tabelas e views no banco principal e nos bancos anexados. Internamente, ele faz isso executando um comando SELECT na tabela sqlite_master.

Consultando a tabela sqlite_master

Para ter mais controle, você pode consultar diretamente a tabela ‘sqlite_master’, que armazena os metadados do banco, incluindo as definições das tabelas.

Por exemplo:

SELECT name FROM sqlite_master WHERE type='table';

Esse comando SQL seleciona todos os registros da coluna name da tabela sqlite_master em que o type é ‘table’.

Saída esperada: (usando o banco de exemplo ‘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

Mostrando o schema da tabela com o comando .schema

Para examinar a estrutura ou o ‘schema’ da sua tabela (ou seja, as colunas e seus respectivos tipos de dados), o SQLite oferece o comando .schema:

.schema your_table_name

Saída esperada: (usando a tabela ‘actor’ do banco de exemplo ‘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;

Substitua ‘your_table_name’ pelo nome da sua tabela.

Esse comando retorna a instrução CREATE TABLE usada para criar a tabela no seu banco de dados.

Usando uma instrução SELECT sql

Como alternativa, você pode obter o schema usando uma instrução SELECT na tabela sqlite_master:

SELECT sql FROM sqlite_master WHERE name = 'your_table_name';

Esse comando retorna a mesma instrução CREATE TABLE que o comando .schema, mas sem as instruções ‘INDEX’ e ‘TRIGGER’.

Usando o comando PRAGMA para obter informações da tabela

Outra abordagem no SQLite é usar o comando PRAGMA, que fornece diversas características do banco de dados SQLite. Um comando PRAGMA útil é o ‘table_info’, que pode ser usado para obter informações sobre as colunas de uma tabela.

Embora o ‘table_info’ não liste todas as tabelas, ele pode ser usado junto com os comandos de listagem para entender a estrutura das tabelas logo depois de descobrir seus nomes.

Exemplo:

PRAGMA table_info('actor');

Saída esperada: (usando a tabela ‘actor’ do banco de exemplo ‘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 linha representa uma coluna da tabela ‘actor’, e os campos mostram, respectivamente, o ‘cid’, o ‘name’, o ‘type’, o status ‘not null’, o ‘default value’ e a informação de ‘primary key’ da coluna.

Conclusão

Listar tabelas no SQLite é uma habilidade fundamental para gerenciar e inspecionar bancos de dados. Seja usando o comando .tables para uma lista rápida, consultando a tabela sqlite_master para uma abordagem mais programática ou usando instruções PRAGMA para obter informações detalhadas sobre a estrutura das tabelas, o SQLite oferece várias ferramentas para ajudar você a entender e interagir com seu banco de forma eficiente.

Embora entender e escrever comandos SQL para ver suas tabelas SQLite possa ser recompensador, também pode ser demorado e complexo, principalmente ao lidar com bancos de dados enormes.

O Beekeeper Studio oferece uma interface amigável para as tabelas do seu banco de dados, tornando mais prática a navegação entre inúmeras tabelas.

Além disso, para ver o schema de qualquer tabela, basta clicar no nome dela e o schema aparecerá em um formato bem estruturado.

O Beekeeper Studio é uma GUI para SQLite gratuita e open source

Era exatamente disso que eu precisava. A interface é ágil e limpa, funciona como eu gosto e espero, e simplesmente resolve. É a ferramenta perfeita para trabalhar com meus bancos SQLite. - Andy

O Beekeeper Studio é um cliente SQLite rápido, intuitivo e fácil de usar. Ele também suporta vários outros bancos de dados e funciona muito bem no Windows, Mac e Linux.

A versão do Beekeeper para Linux tem 100% dos recursos, sem atalhos e sem concessões.

O que os usuários de SQLite dizem sobre o Beekeeper Studio

Tagser Programador em formação (sem cargo ou emprego)

Eu nunca entendi de verdade como funciona o design de modelos até começar a usar isto para consultar e visualizar o banco de dados! Sou grato por ele na minha jornada. Recomendo para quem está aprendendo Django + sqlite, já que é só para isso que usei até agora.

George Wright

Duas coisas principais. Primeiro, conectividade. Não preciso usar o DB Browser for SQLite, o MySQL Workbench para MySQL, o psql para PostgreSQL. O Beekeeper funciona com todos eles. Segundo: IA. O recurso de IA transforma inglês em SQL.

Pronto para melhorar seu fluxo de trabalho com SQLite?

download Baixar grátis