Beispiel einer datenbankübergreifenden Abfrage in MySQL

Beispiel einer datenbankübergreifenden Abfrage in MySQL

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:
  • Datenbankübergreifende Assoziationsabfragemethode in MySQL
  • Beispiel für eine gemeinsame MySQL-Remote-Datenbankabfrage

<<:  Analyse von Multithread-Programmierbeispielen unter Linux

>>:  JavaScript zur Implementierung eines einfachen Karusselldiagramms, umfassendste Codeanalyse (ES5)

Artikel empfehlen

Implementierung der Header-Informationen für Nginx-Operationsantworten

Voraussetzung: Sie müssen das Modul ngx_http_head...

Zusammenfassung der Verwendung von setTimeout() in JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Der Unterschi...

JavaScript zur einfachen Verknüpfung von Provinzen und Gemeinden

In diesem Artikel wird der spezifische Code für J...

MySQL-Paket für Abfrage ist zu groß – Problem und Lösung

Problembeschreibung: Fehlermeldung: Ursache: com....

Ausführliches Tutorial zu Installations- und Upgradeproblemen bei MySQL 5.7.30

Keil Da auf dem Computer eine relativ alte MySQL-...

Zusammenfassung von 28 gängigen JavaScript-String-Methoden und Verwendungstipps

Inhaltsverzeichnis Vorwort 1. Ermitteln Sie die L...

MySQL-Schleife fügt zig Millionen Daten ein

1. Erstellen Sie eine Testtabelle Tabelle `mysql_...

Mit CSS3 implementierte Schaltfläche zum Hovern von Bildern

Ergebnis:Implementierungscode html <ul Klasse=...