SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Exportar um banco de dados SQLite inteiro para um arquivo SQL


A linha de comando SQLite fornece vários métodos para exportar ou fazer backup de um banco de dados inteiro. Um deles envolve o .dump comando ponto.

O .dump O comando permite converter um banco de dados inteiro em um único arquivo de texto ASCII. Em outras palavras, ele renderiza todo o banco de dados como SQL. O arquivo de texto contém todas as instruções SQL necessárias para criar as tabelas, inserir dados, etc.

Você também pode usar .dump para criar um arquivo compactado. Eu descrevo esses dois métodos abaixo.

Exportar como SQL


Você pode usar .dump em conjunto com .output ou .once para exportar todo o banco de dados para um arquivo .sql.

Este arquivo conterá todas as instruções SQL necessárias para reconstruir o banco de dados (incluindo a criação de todas as tabelas, a inserção de todos os dados, etc).

Aqui está um exemplo:
.once Store.sql
.dump

Neste caso eu usei o .once comando. Isso simplesmente direciona os resultados do próximo comando ou instrução SQL para o arquivo especificado.

Neste caso, o próximo comando é o .dump comando dot, que por padrão, renderiza todo o conteúdo do banco de dados como SQL.

Você também pode usar .output , mas isso direcionará os resultados de todos comandos futuros/instruções SQL no arquivo. Isso pode ter consequências não intencionais se você não for cuidadoso.

Restaurar o banco de dados


Depois de criar o arquivo de backup .sql, você pode reconstruir todo o banco de dados simplesmente lendo esse arquivo no SQLite.

Por exemplo, você pode se conectar ao SQLite enquanto especifica um novo arquivo de banco de dados (um que ainda não existe):
sqlite3 Store2.db

Ao especificar um arquivo de banco de dados que não existe, o SQLite criará um banco de dados em branco.

Agora que você está no SQLite, você pode ler o conteúdo do arquivo de backup:
.read Store.sql

Isso é tudo o que há para isso. O banco de dados foi reconstruído a partir do arquivo .sql. Todas as tabelas foram criadas e todos os dados foram inseridos.

Criar um arquivo compactado


Se seu banco de dados for grande e contiver muitos dados, talvez seja melhor criar um arquivo de backup compactado.

Aqui está um exemplo:
sqlite3 Store .dump | gzip -c >Store.dump.gz

Observe que isso é executado fora do SQLite. Em outras palavras, não me conectei ao SQLite antes de executar este comando. Eu simplesmente abri uma nova janela de terminal e executei esse comando.

Na verdade, naveguei primeiro para a pasta de backup. Se você não fizer isso, precisará incluir o caminho no arquivo de backup.

Você pode reconstruir o banco de dados com zcat . O zcat utilitário permite que você visualize o conteúdo de um arquivo compactado sem realmente descompactá-lo.

Portanto, o arquivo criado no exemplo anterior pode ser reconstruído usando o zcat Utilitário.
zcat Store.dump.gz | sqlite3 Store2

Isso pode ou não funcionar dependendo do seu sistema. Se isso não funcionar, pode ser necessário usar um utilitário de compactação diferente.