SQLite anexar banco de dados

Resumo : neste tutorial, você aprenderá como anexar bancos de dados adicionais à conexão de banco de dados atual usando a ATTACH DATABASEinstrução SQLite.

Introdução à ATTACH DATABASEinstrução SQLite

Quando você se conecta a um banco de dados, seu nome mainindepende do nome do arquivo do banco de dados. Além disso, você pode acessar o banco de dados temporário que contém tabelas temporárias e outros objetos de banco de dados por meio do  tempbanco de dados.

Portanto, toda conexão de banco de dados SQLite possui o mainbanco de dados e também tempo banco de dados caso você lide com objetos de banco de dados temporários.

Para anexar um banco de dados adicional à conexão de banco de dados atual, use a ATTACH DATABASEinstrução a seguir:

ATTACH DATABASE file_name AS database_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A instrução associa o arquivo de banco de dados file_nameà conexão de banco de dados atual sob o nome do banco de dados lógico database_name.

Se o arquivo de banco de dados file_namenão existir, a instrução cria um novo arquivo de banco de dados.

Depois que o banco de dados adicional for anexado, você poderá consultar todos os objetos no banco de dados com o nome database_name. Por exemplo, para se referir à peopletabela no contactsbanco de dados, você usa a extensão contacts.people.

Caso você queira criar um novo banco de dados de memória e anexá-lo à conexão de banco de dados atual, use :memory:filename.

Você pode anexar vários bancos de dados na memória ao mesmo tempo, com a condição de que cada banco de dados na memória seja exclusivo.

Se você especificar um nome de arquivo vazio '', a instrução criará um banco de dados temporário com suporte de arquivo.

Observe que o SQLite exclui automaticamente todos os bancos de dados temporários e de memória quando a conexão com o banco de dados é fechada.

ATTACH DATABASEExemplo SQLite

Primeiro, conecte-se ao banco de dados de amostra chinook usando sqlite3o comando a seguir:

>sqlite3 c:\sqlite\db\chinook.db;Linguagem de código:  CSS  ( css )

A seguir, use o .databasescomando para listar todos os bancos de dados na conexão de banco de dados atual.

sqlite> .databasesLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

SQLite retorna a seguinte saída.

seq  name             file
---  ---------------  ----------------------------------------------------------
0    main             c:\sqlite\db\chinook.dbLinguagem de código:  CSS  ( css )

Em seguida, use a ATTACH DATABASEinstrução para criar um novo banco de dados nomeado contactse associá-lo à conexão de banco de dados atual.

sqlite> attach database 'c:\sqlite\db\contacts.db' as contacts;Linguagem de código:  JavaScript  ( javascript )

Quarto, use o .databasecomando para exibir todos os bancos de dados na conexão de banco de dados atual.

sqlite> .databasesLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

SQLite retorna 2 bancos de dados da seguinte forma:

seq  name             file
---  ---------------  ----------------------------------------------------------
0    main             c:\sqlite\db\chinook.db
2    contacts         c:\sqlite\db\contacts.dbLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Depois disso, crie uma nova tabela nomeada peopleno contactsbanco de dados e preencha os dados da customerstabela no mainbanco de dados.

sqlite> CREATE TABLE contacts.people(first_name text, last_name text);
sqlite> INSERT INTO contacts.people SELECT firstName, lastName FROM customers;Linguagem de código:  CSS  ( css )

Observe que nos referimos à peopletabela no contactsbanco de dados usando a contacts.peopleconvenção de nomenclatura.

Por fim, consulte os dados da peopletabela no contactsbanco de dados.

SELECT * FROM contacts.people;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para mais informações sobre o ATTACH DATABASEextrato, confira sua documentação .

Neste tutorial, você aprendeu como usar a ATTACH DATABASEinstrução SQLite para associar bancos de dados adicionais na conexão de banco de dados atual.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *