SQLite 附加數(shù)據(jù)庫

SQLite 附加數(shù)據(jù)庫

假設(shè)這樣一種情況,當(dāng)在同一時間有多個數(shù)據(jù)庫可用,您想使用其中的任何一個。SQLite 的 ATTACH DATABASE 語句是用來選擇一個特定的數(shù)據(jù)庫,使用該命令后,所有的 SQLite 語句將在附加的數(shù)據(jù)庫下執(zhí)行。

語法

SQLite 的 ATTACH DATABASE 語句的基本語法如下:

ATTACH DATABASE 'DatabaseName' As 'Alias-Name';

如果數(shù)據(jù)庫尚未被創(chuàng)建,上面的命令將創(chuàng)建一個數(shù)據(jù)庫,如果數(shù)據(jù)庫已存在,則把數(shù)據(jù)庫文件名稱與邏輯數(shù)據(jù)庫 'Alias-Name' 綁定在一起。

實例

如果想附加一個現(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ù)庫名稱 maintemp 被保留用于主數(shù)據(jù)庫和存儲臨時表及其他臨時數(shù)據(jù)對象的數(shù)據(jù)庫。這兩個數(shù)據(jù)庫名稱可用于每個數(shù)據(jù)庫連接,且不應(yīng)該被用于附加,否則將得到一個警告消息,如下所示:

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;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容