SQLite使用DETACH语句分离数据库的方式
2023-03-20 14:59:47 时间
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
现在,让我们尝试把 '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
相关文章
- 你应该知道的MySQL的命令和PyMySQL
- 快速制作Redis Docker镜像
- 什么是数据库?用最简单的方法讲明白数据库
- 一文搞懂Redis的三种集群方案
- 数据库哪个好?常用数据库软件测评
- Golang如何优雅连接MySQL数据库?
- MySQL的慢SQL该怎么优化?
- 你知道 Redis 使用的什么协议吗?
- MySQL批量SQL插入性能优化
- 聊聊堆Heap和二叉堆的实现和特性
- 云数据库和自建数据库有什么区别?优缺点是什么?
- 关于数据库理论:数据库的六大范式知识笔记
- 后端程序员必看,13个写SQL的好建议
- 很多人连模糊匹配Like %xxx%怎么优化都不知道
- 如何在Pandas中实现类似于SQL查询的数据操作?
- 2020数据库选型攻略:专用VS多模
- 举世闻名的 SQL 注入是什么?这个漫画告诉你!
- 运维:终于不用再背着数万实例的Redis集群了!
- MySQL垂直分库,水平分库,垂直分表,水平分表
- MySQL 8 中检查约束的使用