SQLite DETACH DATABASE 语句用于从以前使用ATTACH语句附加(ATTACH)的数据库连接中分离命名数据库,如果同一数据库文件已附加了多个别名,则DETACH命令将仅断开给定名称,其余的附件仍将继续,您不能分离 main 或 temp 数据库。

如果该数据库是内存数据库或临时数据库,则该数据库将被破坏并且内容将丢失。

DETACH - 语法

以下是SQLite DETACH DATABASE'Alias-Name'语句的基本语法。

DETACH DATABASE 'Alias-Name';

在这里,"Alias-Name"是您使用ATTACH语句附加数据库时使用的别名。

DETACH - 示例

假设您有一个数据库,该数据库是在上一章中创建的,并附加了" 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

参考链接

https://www.learnfk.com/sqlite/sqlite-detach-database.html