SQLite的 DETACH DTABASE 语句是用来把命名数据库从一个数据库连接分离出来,连接是之前使用 ATTACH 语句附加的。
如果同一个数据库文件已经被附加上多个别名,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。您无法分离 main 或 temp 数据库。
SQLite 的 DETACH DATABASE 'Alias-Name' 语句的基本语法如下:
DETACH DATABASE 'Alias-Name';
前面我们已经创建了一个数据库,先给它附加了 'test' 和 'currentDB',使用 .databases 命令,我们可以看到:
seq name file
--- --------------- ----------------------------------------------------------
0 main
2 TEST C:\Users\zxw-t540p\Desktop\SQLite_test\testDB.db
3 currentDB C:\Users\zxw-t540p\Desktop\SQLite_test\testDB.db
现在,我们把 'currentDB' 从 testDB.db 中分离出来,如下所示:
sqlite> DETACH DATABASE 'currentDB';
再使用 .databases 检查,'currentDB' 从 testDB.db 已经中分离出来,'test' 和 'main' 仍然和 testDB.db 保持连接。
sqlite> .databases
seq name file
--- --------------- ----------------------------------------------------------
0 main
2 TEST C:\Users\zxw-t540p\Desktop\SQLite_test\testDB.db