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.


