Latest web development tutorials

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
3 currentDB /home/sqlite/testDB.db

現在,讓我們嘗試把'currentDB' 從testDB.db 中分離出來,如下所示:

sqlite> DETACH DATABASE 'currentDB';

現在,如果檢查當前附加的數據庫,您會發現,testDB.db 仍與'test' 和'main' 保持連接。

sqlite>.databases
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db