SQLite 分離數據庫
sqlite 分離數據庫
sqlite 的 detach database 語句是用來把命名數據庫從一個數據庫連接分離和游離出來,連接是之前使用 attach 語句附加的。如果同一個數據庫文件已經被附加上多個別名,detach 命令將只斷開給定名稱的連接,而其余的仍然有效。您無法分離 main 或 temp 數據庫。
如果數據庫是在內存中或者是臨時數據庫,則該數據庫將被摧毀,且內容將會丟失。
1. 語法
sqlite 的 detach database 'alias-name' 語句的基本語法如下:
detach database 'alias-name';
在這里,'alias-name' 與您之前使用 attach 語句附加數據庫時所用到的別名相同。
2. 范例
假設在前面的章節中您已經創建了一個數據庫,并給它附加了 '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