Backup de Banco de Dados SQLite

SQLiteBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como fazer backup e restaurar um banco de dados SQLite. Você aprenderá a exportar um banco de dados para um arquivo SQL usando o comando .dump, criar um backup e, em seguida, restaurar o banco de dados a partir desse backup. Isso é essencial para proteger seus dados.

Criar um Banco de Dados de Exemplo

Nesta etapa, você criará um banco de dados SQLite de exemplo e o preencherá com alguns dados. Isso lhe dará um banco de dados para praticar o backup e a restauração.

Primeiro, abra o shell SQLite. É aqui que você irá interagir com o banco de dados.

sqlite3 mydatabase.db

Este comando inicia o shell SQLite e cria um novo arquivo de banco de dados chamado mydatabase.db. Se o arquivo já existir, ele abrirá esse arquivo em vez de criar um novo.

Agora, crie uma tabela chamada users com colunas para id, name e email:

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT,
    email TEXT
);

Este comando SQL cria uma tabela chamada users. A coluna id é um inteiro e a chave primária (primary key), o que significa que identifica exclusivamente cada linha na tabela. As colunas name e email são campos de texto.

Em seguida, insira alguns dados de exemplo na tabela users:

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');

Esses comandos adicionam duas linhas à tabela users. A primeira linha tem o nome 'Alice' e o email 'alice@example.com'. A segunda linha tem o nome 'Bob' e o email 'bob@example.com'.

Para verificar se os dados foram inseridos corretamente, execute o seguinte comando:

SELECT * FROM users;

Você deve ver uma saída semelhante a esta:

1|Alice|alice@example.com
2|Bob|bob@example.com

Esta saída mostra o conteúdo da tabela users, confirmando que os dados foram inseridos com sucesso.

Exportar o Banco de Dados para um Arquivo SQL

Nesta etapa, você exportará o banco de dados mydatabase.db para um arquivo SQL chamado mydatabase.sql. Este arquivo SQL conterá os comandos necessários para recriar o banco de dados e seus dados.

Primeiro, saia do shell SQLite:

.exit

Este comando fecha a conexão com o banco de dados e retorna você ao terminal Linux.

Agora, use o comando .dump para exportar o banco de dados para um arquivo SQL:

sqlite3 mydatabase.db .dump > mydatabase.sql

Este comando usa a ferramenta de linha de comando sqlite3 para conectar ao banco de dados mydatabase.db. O comando .dump diz ao SQLite para gerar todo o banco de dados como uma série de comandos SQL. O símbolo > redireciona a saída do comando .dump para um arquivo chamado mydatabase.sql.

Para verificar se a exportação foi bem-sucedida, você pode visualizar o conteúdo do arquivo mydatabase.sql usando o comando cat:

cat mydatabase.sql

Você deve ver uma saída semelhante a esta:

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT,
    email TEXT
);
INSERT INTO users VALUES(1,'Alice','alice@example.com');
INSERT INTO users VALUES(2,'Bob','bob@example.com');
COMMIT;

Esta saída mostra os comandos SQL que criam a tabela users e inserem os dados. Isso confirma que o banco de dados foi exportado com sucesso para um arquivo SQL.

Criar um Backup do Banco de Dados

Nesta etapa, você criará um backup do banco de dados usando o mesmo comando .dump. Este é essencialmente o mesmo processo de exportação para um arquivo SQL, mas salvaremos o backup em um arquivo diferente.

sqlite3 mydatabase.db .dump > mydatabase_backup.sql

Este comando cria um backup do banco de dados mydatabase.db e o salva em um arquivo chamado mydatabase_backup.sql.

Para verificar se o backup foi criado com sucesso, você pode visualizar o conteúdo do arquivo mydatabase_backup.sql usando o comando cat:

cat mydatabase_backup.sql

Você deve ver a mesma saída da etapa anterior, confirmando que o arquivo de backup contém os comandos SQL necessários para recriar o banco de dados.

Restaurar o Banco de Dados a partir do Backup

Nesta etapa, você restaurará o banco de dados a partir do arquivo mydatabase_backup.sql. Isso recriará o banco de dados e seus dados a partir do backup.

Primeiro, vamos simular um cenário em que o banco de dados original é perdido. Exclua o arquivo mydatabase.db:

rm mydatabase.db

Este comando remove o arquivo mydatabase.db do sistema de arquivos.

Agora, restaure o banco de dados a partir do arquivo mydatabase_backup.sql:

sqlite3 mydatabase.db < mydatabase_backup.sql

Este comando usa a ferramenta de linha de comando sqlite3 para criar um novo arquivo de banco de dados chamado mydatabase.db. O símbolo < redireciona o conteúdo do arquivo mydatabase_backup.sql para o comando sqlite3, que executa os comandos SQL no arquivo. Isso recria o banco de dados e seus dados.

Para verificar se a restauração foi bem-sucedida, abra o banco de dados no shell SQLite:

sqlite3 mydatabase.db

E consulte a tabela users:

SELECT * FROM users;

Você deve ver os dados que foram salvos no backup:

1|Alice|alice@example.com
2|Bob|bob@example.com

Isso confirma que o banco de dados foi restaurado com sucesso a partir do arquivo de backup.

Saia do shell SQLite:

.exit

Resumo

Neste laboratório, você aprendeu como fazer backup e restaurar um banco de dados SQLite. Você usou o comando .dump para exportar o banco de dados para um arquivo SQL e, em seguida, restaurou o banco de dados a partir desse arquivo. Essas habilidades são essenciais para proteger seus dados e garantir que você possa se recuperar de perdas de dados.