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