SQLite 分離資料庫
SQLite的 DETACH DTABASE 語句是用來把命名資料庫從一個資料庫連接分離和遊離出來,連接是之前使用 ATTACH 語句附加的。如果同一個資料庫檔案已經被附加上多個別名,DETACH 指令將只斷開給定名稱的連接,而其餘的仍然有效。您無法分離 main 或 temp 資料庫。
如果資料庫是在記憶體中或是臨時資料庫,則該資料庫將被摧毀,且內容將會遺失。
語法
SQLite 的DETACH DATABASE 'Alias-Name' 語句的基本語法如下:
DETACH DATABASE 'Alias-Name';
在這裡,'Alias-Name' 與您之前使用ATTACH 語句附加資料庫時所使用的別名相同。
實例
假設在前面的章節中您已經建立了一個資料庫,並給它附加了'test' 和'currentDB',使用.database 指令,我們可以看到:
sqlite>.databases
seq name file
#--- --------------- ----------- -----------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db
seq name file
#--- --------------- ----------- -----------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db
sqlite> DETACH DATABASE 'currentDB';
現在,如果檢查目前附加的資料庫,您會發現,testDB.db 仍與'test' 和'main' 保持連線。 sqlite>.databases
#seq name file
##--- --------------- ---------- ------------
0 main /home/sqlite/testDB.db
2 test
##--- --------------- ---------- ------------
0 main /home/sqlite/testDB.db
2 test