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

Anexar um banco de dados no SQLite


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.