SQLite – ATTACH Database
Consider a case when you have multiple databases available and you want to use any one of them at a time. SQLite ATTACH DATABASE statement is used to select a particular database, and after this command, all SQLite statements will be executed under the attached database.
Syntax
Following is the basic syntax of SQLite ATTACH DATABASE statement.
ATTACH DATABASE ''DatabaseName'' As ''Alias-Name
The above command will also create a database in case the database is already not created, otherwise it will just attach database file name with logical database ”Alias-Name”.
Example
If you want to attach an existing database testDB.db, then ATTACH DATABASE statement would be as follows −
sqlite> ATTACH DATABASE ''testDB.db'' as ''TEST
Use SQLite .database command to display attached database.
sqlite> .database seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db
The database names main and temp are reserved for the primary database and database to hold temporary tables and other temporary data objects. Both of these database names exist for every database connection and should not be used for attachment, otherwise you will get the following warning message.
sqlite> ATTACH DATABASE ''testDB.db'' as ''TEMP Error: database TEMP is already in use sqlite> ATTACH DATABASE ''testDB.db'' as ''main Error: database TEMP is already in use