SQLite 附加資料庫

SQLite 附加資料庫

假設這樣一種情況,當在同一時間有多個數據庫可用,您想使用其中的任何一個。SQLite 的 ATTACH DATABASE 語句是用來選擇一個特定的資料庫,使用該命令後,所有的 SQLite 語句將在附加的資料庫下執行。

語法

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

ATTACH DATABASE file_name AS database_name;

如果資料庫尚未被建立,上面的命令將建立一個數據庫,如果資料庫已存在,則把資料庫檔名稱與邏輯資料庫 'Alias-Name' 繫結在一起。

開啟的資料庫和使用 ATTACH附加進來的資料庫的必須位於同一資料夾下。

例項

如果想附加一個現有的資料庫 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

資料庫名稱 maintemp 被保留用於主資料庫和儲存臨時表及其他臨時資料物件的資料庫。這兩個資料庫名稱可用於每個資料庫連線,且不應該被用於附加,否則將得到一個警告訊息,如下所示:

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;