SQLite的的DETACH DTABASE语句是用来分离和游离命名数据库从一个数据库连接,先前连接使用ATTACH语句。如果同一个数据库文件已经连接使用多个别名,然后分离命令将断开只给定的名称而其余仍将继续。无法分离主main 或临时temp数据库。
如果数据库是在内存中或临时数据库,该数据库将被摧毁,内容将会丢失。
语法:
SQLite的分离数据库 'Alias-Name' 语句的基本语法如下:
DETACH DATABASE 'Alias-Name';
这里''Alias-Name' 是相同的别名已经使用,同时附加数据库使用ATTACH语句。
例子:
考虑有一个数据库,在前面的章节中创建连接用“test”和'currentDB',我们可以看到使用数据库命令:
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db 3 currentDB /home/sqlite/testDB.db
现在,让我们尝试分离'currentDB'从testDB.db的如下:
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