SQLite 断开别名
有时我们需要断开数据库和别名之间的关系,这时候就可以使用 DETACH DTABASE 命令
如果同一个数据库文件已经和多个别名相关联,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。
您无法分离 main 或 temp 数据库
注意: 如果数据库是在内存中或者是临时数据库,则该数据库将被摧毁,且内容将会丢失。
语法
SQLite DETACH DATABASE 'Alias-Name' 语句的基本语法如下
DETACH DATABASE 'Alias-Name';
'Alias-Name' 与你之前使用 ATTACH 语句附加数据库时所用到的别名相同
范例
我们使用上一章节中创建的 twle.db 数据库,并给它创建了 'test' 和 'yufei' 两个别名
使用 .database 命令,我们可以看到:
sqlite> .database seq name file --- --------------- ------------------------------------------------------ 0 main /Users/yufei/Developer/sqlite3/twle.db 2 yufei /Users/yufei/Developer/sqlite3/twle.db 3 test /Users/yufei/Developer/sqlite3/twle.db sqlite>
现在,我们尝试断开 'yufei' 和 'twle.db' 之间的关系
sqlite> DETACH DATABASE 'yufei';
使用 .database 命令查看刚刚断开的结果
我们会发现 twle.db
仍与 'test' 和 'main' 保持连接
sqlite> .database seq name file --- --------------- ------------------------------------- 0 main /Users/yufei/Developer/sqlite3/twle.db 2 test /Users/yufei/Developer/sqlite3/twle.db