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

Das Frontend erstellt und ändert CAD-Grafikdetails über JavaScript

Inhaltsverzeichnis 1. Aktuelle Situation 2. CAD-G...

Mac+IDEA+Tomcat-Konfigurationsschritte

Inhaltsverzeichnis 1. Herunterladen 2. Installati...

MySQL-Optimierung: Join statt Unterabfrage verwenden

Verwenden Sie JOIN anstelle von Unterabfragen MyS...

Docker- und Portainer-Konfigurationsmethoden unter Linux

1. Installieren und verwenden Sie Docer CE Dieser...

MySQL Server 8.0.13.0 Installations-Tutorial mit Bildern und Text

Installieren Sie 8.0.13 basierend auf MySQL 6.1.3...

So erstellen Sie einen SSH-Dienst basierend auf einem Golang-Image in Docker

Nachfolgend finden Sie den Code zum Erstellen ein...

Beheben Sie den Fehler bei der Installation von VMware Tools unter Ubuntu 18.04

1. Laut dem Online-Tutorial schlägt die Installat...

Wie verfolgt Vue Datenänderungen?

Inhaltsverzeichnis Hintergrund Beispiel Missverst...

XHTML-Tutorial für den Einstieg: Häufig verwendete XHTML-Tags

<br />Genau wie ein Artikel sollten unsere W...

Implementieren einer benutzerdefinierten Bildlaufleiste mit nativem JS

In diesem Artikelbeispiel wird der spezifische JS...