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

XHTML drei Dokumenttypdeklarationen

XHTML definiert drei Dokumenttypdeklarationen. Am...

Verwendung von Docker UI, einem Docker-Visualisierungsverwaltungstool

1. Einführung in DockerUI DockerUI basiert auf de...

Mehrere Möglichkeiten zum Wechseln zwischen Vue Tab und Cache-Seiten

Inhaltsverzeichnis 1. So wechseln Sie 2. Register...

Beispielerklärung für langsame MySQL-Abfragen und -Protokolle

1. Einleitung Durch Aktivieren des Slow Query Log...

So stellen Sie Daten mit Binlog in MySQL 5.7 wieder her

Schritt 1: Stellen Sie sicher, dass MySQL Binlog ...

So erlauben Sie allen Hosts den Zugriff auf MySQL

1. Ändern Sie den Host-Feldwert eines Datensatzes...

Kostenlose Installationskonfigurationsmethode für MySQL 5.7.18 WinX64

1. Herunterladen 2. Dekompression 3. Fügen Sie di...

So verwenden Sie die asynchrone Anforderungs-API von Axios in Vue

Inhaltsverzeichnis Einrichten einer einfachen HTT...

Beschreiben Sie kurz den Unterschied zwischen MySQL und Oracle

1. Oracle ist eine große Datenbank, während MySQL...