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