Ao usar o SQLite, você pode usar o
ATTACH DATABASE
instrução para adicionar um arquivo de banco de dados à conexão de banco de dados atual. Ao fazer isso, você anexa um nome de arquivo de banco de dados e fornece um nome para o banco de dados. Se o arquivo existir, ele será anexado com o nome escolhido, caso contrário, será criado e anexado com o nome escolhido.
Exemplo
ATTACH DATABASE 'Pets.db' AS Pets;
Este exemplo faz com que o
Pets.db
arquivo de banco de dados a ser anexado e chamado de Pets
. Você pode usar
.databases
para verificar se foi anexado. .databases
Resultado:
main: /Users/Shared/Pets.db Pets: /Users/Shared/Pets.db
Neste caso, eu adicionei anteriormente este banco de dados em
main
, então o mesmo arquivo de banco de dados agora é anexado com dois nomes diferentes. O nome é o nome do banco de dados usado internamente pelo SQLite.
Desanexar um banco de dados
Você pode usar
DETACH DATABASE
para desanexar um banco de dados da conexão atual. Isso não exclui o arquivo de banco de dados, simplesmente remove o banco de dados da sua conexão. DETACH DATABASE Pets;
Verifique novamente:
.databases
Resultado:
main: /Users/Shared/Pets.db
Observe que você não pode desanexar
main
(ou temp
) bancos de dados. Se você tentar fazer isso, provavelmente receberá este erro:sqlite> DETACH DATABASE main;
Error: cannot detach database main
Expressões
O
ATTACH DATABASE
sintaxe especifica que o nome do arquivo fornecido é na verdade uma expressão. Você pode fornecer um valor literal ou uma expressão. A sintaxe para expressões é bastante complexa e é descrita na documentação do SQLite se você estiver interessado.