SQLite - 分离数据库
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