Heim >Datenbank >MySQL-Tutorial >Wie kann ich Tabellen über verschiedene SQLite-Datenbanken hinweg verknüpfen?
Verknüpfen von Tabellen aus verschiedenen Datenbanken in SQLite
Bei der Arbeit mit mehreren SQLite-Datenbanken ist es notwendig, Tabellen datenbankübergreifend zu verknüpfen, um darauf zuzugreifen und sie zu kombinieren Daten. Obwohl SQLite nativ keine direkte Verknüpfung von Tabellen aus verschiedenen Datenbanken unterstützt, gibt es eine Problemumgehung mithilfe des ATTACH-Befehls.
Datenbanken anhängen
Der ATTACH-Befehl ermöglicht das Anhängen eine externe Datenbankdatei zur aktuellen Verbindung hinzufügen. Dies ermöglicht Ihnen den Zugriff auf die Tabellen und Daten der angeschlossenen Datenbank. Um eine Datenbank anzuhängen, verwenden Sie die folgende Syntax:
ATTACH DATABASE 'path/to/db.sqlite' AS 'alias';
Ersetzen Sie „path/to/db.sqlite“ durch den Pfad zu der Datenbankdatei, die Sie anhängen möchten, und „alias“ durch einen gewohnten Alias Weitere Informationen finden Sie in der beigefügten Datenbank.
Beispiel
Stellen Sie sich ein Szenario vor, in dem Sie zwei SQLite haben Datenbanken: 'database1.db' und 'database2.db'. So hängen Sie die zweite Datenbank an:
ATTACH DATABASE 'database2.db' AS 'db2';
Tabellen verbinden
Nach dem Anhängen der Datenbanken können Sie Tabellen datenbankübergreifend verbinden, als ob sie sich in derselben Datenbank befänden. Verwenden Sie die folgende Syntax:
SELECT * FROM db1.table1 AS T1 INNER JOIN db2.table2 AS T2 ON T1.column1 = T2.column2;
Hier sind „db1.table1“ und „db2.table2“ Tabellen aus den angehängten Datenbanken „db1“ bzw. „db2“.
Angehängte Datenbanken abfragen
Um die angehängten Datenbanken zu überprüfen, verwenden Sie die Datei .databases Befehl:
.databases
Dadurch werden alle aktuell angehängten Datenbanken und ihre Aliase aufgelistet.
Einschränkungen
Beachten Sie, dass die Datenbanknamen „main“ und „temp“ sind für die primäre bzw. temporäre Datenbank reserviert. Vermeiden Sie die Verwendung dieser Namen für angehängte Datenbanken, um Konflikte zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie kann ich Tabellen über verschiedene SQLite-Datenbanken hinweg verknüpfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!