考慮一種情況,當您有多個可用數(shù)據(jù)庫并且想一次使用其中任何一個數(shù)據(jù)庫時。SQLite ATTACH DATABASE
語句用于選擇特定的數(shù)據(jù)庫,執(zhí)行此命令后,所有SQLite語句將在附加數(shù)據(jù)庫下執(zhí)行。
以下是SQLite ATTACH DATABASE語句的基本語法。
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
如果尚未創(chuàng)建數(shù)據(jù)庫,上述命令還將創(chuàng)建一個數(shù)據(jù)庫,否則它將僅將數(shù)據(jù)庫文件名附加到邏輯數(shù)據(jù)庫“別名”。
如果要附加現(xiàn)有數(shù)據(jù)庫testDB.db
,則ATTACH DATABASE語句如下-
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
使用SQLite.database
命令顯示附加的數(shù)據(jù)庫。
sqlite> .database seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db
數(shù)據(jù)庫名稱main和temp是為主數(shù)據(jù)庫和保留臨時表和其他臨時數(shù)據(jù)對象的數(shù)據(jù)庫保留的。 這兩個數(shù)據(jù)庫名稱對于每個數(shù)據(jù)庫連接都存在,并且不應用于附件,否則您將收到以下警告消息。
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