SQLite 附加數(shù)據(jù)庫
sqlite 附加數(shù)據(jù)庫
假設這樣一種情況,當在同一時間有多個數(shù)據(jù)庫可用,您想使用其中的任何一個。sqlite 的 attach database 語句是用來選擇一個特定的數(shù)據(jù)庫,使用該命令后,所有的 sqlite 語句將在附加的數(shù)據(jù)庫下執(zhí)行。
1. 語法
sqlite 的 attach database 語句的基本語法如下:
attach database file_name as database_name;
如果數(shù)據(jù)庫尚未被創(chuàng)建,上面的命令將創(chuàng)建一個數(shù)據(jù)庫,如果數(shù)據(jù)庫已存在,則把數(shù)據(jù)庫文件名稱與邏輯數(shù)據(jù)庫 'alias-name' 綁定在一起。
打開的數(shù)據(jù)庫和使用 attach附加進來的數(shù)據(jù)庫的必須位于同一文件夾下。
2. 范例
如果想附加一個現(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 main is already in use;