假設這樣一種情況,當在同一時間有多個數據庫可用,您想使用其中的任何一個。SQLite 的 ATTACH DTABASE 語句是用來選擇一個特定的數據庫,使用該命令後,所有的 SQLite 語句將在附加的數據庫下執行。
SQLite 的 ATTACH DATABASE 語句的基本語法如下:
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
如果數據庫尚未被創建,上面的命令將創建一個數據庫,如果數據庫已存在,則把數據庫文件名稱與邏輯數據庫 'Alias-Name' 綁定在一起。
如果想附加一個現有的數據庫 testDB.db,則 ATTACH DATABASE 語句將如下所示:
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
使用 SQLite .database 命令來顯示附加的數據庫。
sqlite> .database seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db
數據庫名稱 main 和 temp 被保留用於主數據庫和存儲臨時表及其他臨時數據對象的數據庫。這兩個數據庫名稱可用於每個數據庫連接,且不應該被用於附加,否則將得到一個警告消息,如下所示:
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