在 SQLite 中,你可以在一个连接中同时操作多个数据库文件,这要归功于 ATTACH DATABASE 语句。该功能让我们能在一次查询或事务中处理多个数据库之间的数据,十分灵活且强大。


📚 目录

  1. 什么是 ATTACH DATABASE
  2. 基本语法与示例
  3. 如何切换和引用附加数据库
  4. 注意事项与限制
  5. 参考资料与链接

1. 什么是 ATTACH DATABASE

ATTACH DATABASE 是 SQLite 的一条 SQL 命令,允许你将一个额外的 .db 文件加载进当前连接,并赋予它一个别名。你可以使用这个别名来访问该数据库中的表、视图等对象。


2. 基本语法与示例

✅ 基本语法:

ATTACH DATABASE '路径/文件名.db' AS 数据库别名;

✅ 示例:

ATTACH DATABASE 'archive.db' AS old_data;

这个命令会将 archive.db 文件附加到当前连接,并将其命名为 old_data。之后你就可以访问它里面的表了,例如:

SELECT * FROM old_data.users;


3. 如何切换和引用附加数据库

在使用多个数据库时,你可以通过 数据库别名.表名 的方式进行访问。例如:

SELECT u.name, o.order_id
FROM main.users AS u
JOIN old_data.orders AS o ON u.id = o.user_id;

其中,main 是默认数据库(即最初连接的主数据库)。


4. 注意事项与限制

  • 一次连接最多可附加 10 个数据库(可通过编译参数修改)
  • 所有附加数据库在当前连接关闭时会自动分离
  • 表名必须使用 别名.表名 明确指定以避免歧义
  • 附加数据库必须是 SQLite 格式的有效文件,否则会报错

5. 参考资料与链接


通过 ATTACH DATABASE,你可以灵活地对多个数据库文件进行联合查询、合并数据或进行分区设计。欢迎访问 www.52kanjuqing.com 获取更多 SQLite 的实用技巧与案例教程。