在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中文網其他相關文章!