Vorwort In MySQL werden datenbankübergreifende Abfragen hauptsächlich in zwei Situationen unterteilt. Eine davon sind datenbankübergreifende Abfragen innerhalb desselben Dienstes; die andere sind datenbankübergreifende Abfragen zwischen verschiedenen Diensten. Die datenbankübergreifenden Abfragen sind für jeden von ihnen unterschiedlich. Im Folgenden werden diese beiden Arten datenbankübergreifender Abfragen ausführlich vorgestellt. 1. Datenbankübergreifende Abfrage desselben Dienstes Datenbankübergreifende Abfragen desselben Dienstes müssen nur den Datennamen enthalten, wenn zugehörige Abfragen ausgeführt werden. Das SQL wird wie folgt geschrieben: SELECT * FROM database1.table1 x JOIN database2.table2 y ON x.field1=y.field2; zum Beispiel: 2. Datenbankübergreifende Abfrage verschiedener Dienste Datenbankübergreifende Abfragen verschiedener Dienste können nicht direkt durch das Anfügen von Dateinamen verknüpft werden. Hierfür wird die Federated Engine in der MySQL-Datenbank benötigt. Der konkrete Ablauf ist wie folgt: Anforderung: Tabelle A in Datenbank X auf Dienst A muss mit Tabelle B in Datenbank Y auf Dienst B verknüpft sein, um die erforderlichen Daten abzufragen. 1. Überprüfen Sie zunächst, ob die FEDERATED-Engine in der MySQL-Datenbank installiert ist. Verwenden Sie dazu den Befehl „show engines“; siehe unten: Wie in der Abbildung oben gezeigt, hat MySQL die FEDERATED-Engine installiert, aber die Unterstützung lautet Nein, was bedeutet, dass sie nicht aktiviert ist. Fügen Sie am Ende der Datei my.cnf eine Zeile FEDERATED hinzu und starten Sie MySQL neu. Wenn die FEDERATED-Engine nicht gefunden wird, müssen Sie sie installieren. 2. Erstellen Sie eine Tabelle B in Datenbank X auf Dienst A mit der folgenden Anweisung: CREATE TABLE table_name (……) ENGINE=FEDERATED CONNECTION='mysql://[username]:[password]@[localtion]:[port]/[db-name]/[table-name]' Hinweis: Die von der FEDERATED-Engine erstellte Tabelle verfügt nur über eine lokale Tabellendefinitionsdatei und die Datendatei befindet sich in der Remote-Datenbank. Diese Engine kann die Funktion des Remote-Datenzugriffs realisieren. Mit anderen Worten: Diese Methode zur Tabellenerstellung erstellt eine Tabellenstrukturdatei in Datenbank X auf Dienst A (also die Tabellenstrukturdatei von Tabelle B in Datenbank Y auf Dienst B). Der Tabellenindex, die Daten und andere Dateien befinden sich ebenfalls in Datenbank Y auf Dienst B, was einer Abkürzung für eine einfache Zuordnung entspricht. 3. Verknüpfen Sie in der Datenbank X auf Dienst A die Tabelle A direkt mit der Tabelle B, um die erforderlichen Daten abzufragen. Bei diesem Ansatz sind einige Dinge zu beachten: 1) Diese datenbankübergreifende Abfragemethode unterstützt keine Transaktionen. Daher ist es am besten, keine Transaktionen zu verwenden. 2) Die Tabellenstruktur kann nicht verändert werden. 3) MySQL verwendet diese datenbankübergreifende Abfragemethode. Derzeit unterstützt die Remote-Datenbank nur MySQL, andere Datenbanken werden nicht unterstützt. 4) Die Tabellenstruktur muss exakt mit der Zieldatenbanktabelle übereinstimmen. Zusammenfassen Dies ist das Ende dieses Artikels über datenbankübergreifende Abfragen in MySQL. Weitere relevante Inhalte zu datenbankübergreifenden MySQL-Abfragen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Analyse von Multithread-Programmierbeispielen unter Linux
Voraussetzung: Sie müssen das Modul ngx_http_head...
Inhaltsverzeichnis 1. Einleitung 2. Der Unterschi...
In diesem Artikel wird der spezifische Code für J...
Problembeschreibung: Fehlermeldung: Ursache: com....
1. Fehlerreproduktion Ich kann auf die MySQL-Date...
Manchmal möchten wir nicht, dass der Inhalt unser...
Keil Da auf dem Computer eine relativ alte MySQL-...
Ursache des Problems: Zunächst kann die Standard-...
Inhaltsverzeichnis Vorwort 1. Ermitteln Sie die L...
1. Erstellen Sie eine Testtabelle Tabelle `mysql_...
Inhaltsverzeichnis Vorwort 1. bat führt js aus 2....
Ergebnis:Implementierungscode html <ul Klasse=...
Das Installations-Tutorial für die dekomprimierte...
1. Zusätzlich zum Standardport 8080 versuchen wir...
1. Einen Benutzer anlegen: Befehl: CREATE USER ...