SQLite DETACH分离数据库
SQLite DETACH DATABASE 语句用于从先前使用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
让我们尝试使用以下命令从testDB.db中分离’currentDB’。
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