在 SQLite 中连接来自不同数据库的表
使用多个 SQLite 数据库时,需要跨数据库连接表来访问和组合数据。虽然 SQLite 本身不支持直接连接来自不同数据库的表,但有一个使用 ATTACH 命令的解决方法。
附加数据库
ATTACH 命令允许您附加当前连接的外部数据库文件。这使您能够访问附加数据库中的表和数据。要附加数据库,请使用以下语法:
ATTACH DATABASE 'path/to/db.sqlite' AS 'alias';
将“path/to/db.sqlite”替换为要附加的数据库文件的路径,将“alias”替换为用于附加的数据库文件的别名请参阅附加的数据库。
示例
考虑一个场景,您有两个 SQLite 数据库:“database1.db”和“database2.db”。要附加第二个数据库:
ATTACH DATABASE 'database2.db' AS 'db2';
连接表
附加数据库后,您可以跨数据库连接表,就像它们位于同一数据库中一样。使用以下语法:
SELECT * FROM db1.table1 AS T1 INNER JOIN db2.table2 AS T2 ON T1.column1 = T2.column2;
此处,“db1.table1”和“db2.table2”分别是附加数据库“db1”和“db2”中的表。
查询附加数据库
要验证附加数据库,请使用 .databases命令:
.databases
这将列出所有当前附加的数据库及其别名。
限制
请注意,数据库名称为“main”和 'temp' 分别为主数据库和临时数据库保留。避免对附加数据库使用这些名称以防止冲突。
以上是如何连接不同 SQLite 数据库中的表?的详细内容。更多信息请关注PHP中文网其他相关文章!