Tabellen- und Datenbankstruktur in MySQL anzeigen
- Tabellenstruktur in MySQL anzeigen
-
Verwenden Sie
mysqldump
, um die Datenbankstruktur in MySQL anzuzeigen
Heute lernen wir Abfragen kennen, die die Tabellen- und Datenbankstruktur in MySQL anzeigen können. Wir werden das Dienstprogramm mysqldump
, die Anweisungen DESCRIBE
, SHOW TABLES
und SHOW CREATE TABLE
verwenden.
Beim Schreiben dieses Tutorials haben wir die Version MySQL 8.0.28 verwendet.
Tabellenstruktur in MySQL anzeigen
Wir können verschiedene Möglichkeiten verwenden, um die Tabellenstruktur in MySQL basierend auf den Anforderungen zu erhalten. Einige davon sind unten aufgeführt.
Verwenden Sie das Dienstprogramm mysqldump
in MySQL
Wir können das Befehlszeilentool mysqldump
verwenden, um eine vollständige Datenbankstruktur als Satz aller CREATE TABLE
-Anweisungen zu erhalten.
Beispielcode:
# The `--compact` flag produces the compact output
mysqldump -u username -p ms23 --compact --no-data
Für eine bestimmte Tabelle können wir den Namen der Tabelle nach dem Namen der Datenbank hinzufügen oder die Anweisung SHOW CREATE TABLE
wie folgt verwenden, um ähnliche Ergebnisse zu erhalten.
Beispielcode:
# To use this, you must be logged in to MySQL Server and a database.
SHOW CREATE TABLE courses;
Wir können die Anweisung DESCRIBE
verwenden, um eine unten beschriebene Spaltenauflistung zu erhalten.
Verwenden Sie die DESCRIBE (Table)
-Anweisung in MySQL
Beispielcode:
DESCRIBE courses;
Wir müssen bei MySQL Server angemeldet sein, um die DESCRIBE
-Anweisung verwenden zu können. Es zeigt die Spaltenauflistung einer bestimmten Tabelle, wie z. B. die Attributnamen (Feldnamen), ihre Datentypen, Standardwerte, Schlüssel usw.
Alternativ können wir es als DESC-Kurse
verwenden; oder Kurse ERKLÄREN;
und bekomme die gleichen Ergebnisse. Wenn wir den Tabellennamen vergessen, können wir die SHOW TABLES;
-Anweisung, um eine Liste von Tabellen in einer bestimmten Datenbank abzurufen.
Beispielcode:
SHOW TABLES;
Verwenden Sie mysqldump
, um die Datenbankstruktur in MySQL anzuzeigen
Wir verwenden ein Befehlszeilentool namens mysqldump
, um MySQL-Datenbankkopien oder Backups zu sichern oder zu erstellen. Bei der Verwendung des mysqldump
-Befehls verwenden wir je nach Anforderung mehrere Flags.
Zum Beispiel verwenden wir das Flag --no-data
, wenn wir beim Kopieren der Datenbankstruktur keine Daten einbeziehen wollen. Wir verwenden mysqldump
, um die Datenbankstruktur nur unter Berücksichtigung der folgenden Szenarien zu erhalten.
- Datenbankstruktur nur für eine Tabelle abrufen
- Datenbankstruktur nur für mehrere Tabellen abrufen
- Datenbankstruktur nur für eine oder mehrere Datenbanken abrufen
- Holen Sie sich die Datenbankstruktur aller Datenbanken in eine Datei
Um die folgenden Befehle verwenden zu können, müssen Sie sich im Verzeichnis C:\Programme\MySQL\MySQL Server 8.0\bin>
befinden, wenn Sie MySQL Server am Standardspeicherort installiert haben.
In den folgenden Befehlen verwenden wir verschiedene Flags, die Sie verstehen müssen, bevor Sie die Befehle verwenden.
- Das Flag
-u
zeigt den Benutzernamen an. - Das flache
-p
zeigt an, dass ein Passwort angegeben wird, wenn Sie danach gefragt werden (Sie können das Passwort auch mit dem Flag-p
ohne Leerzeichen eingeben, z. B.-p12345
, aber dies wird aus Sicherheitsgründen nicht empfohlen ). - Wir verwenden
--no-data
, wenn wir keine Daten aufnehmen müssen. Alternativ können wir hier auch-d
verwenden. - Die
--database
wird verwendet, wenn wir ein Backup für eine/mehrere Datenbanken erhalten möchten. - Wir verwenden
--all-databases
, um alle Datenbanken auf einmal zu sichern. - Das Größer-als-Symbol (
>
) kann die Sicherungsdatei speichern. Zum Wiederherstellen können Sie das Kleiner-als-Symbol (<
) verwenden.
Beispielcode (Datenbankstruktur nur für eine Tabelle abrufen):
mysqldump -u username -p --no-data DatabaseName TableName;
Beispielcode (Datenbankstruktur nur für mehrere Tabellen abrufen):
mysqldump -u username -p --no-data DatabaseName TableName1 TableName2 TableNameN;
Beispielcode (Datenbankstruktur nur für eine/mehrere Datenbanken abrufen):
# `-d` is used as an alternative to the `--no-data` option
mysqldump -u username -p -d --databases DatabaseName
Wir haben gelernt, wie man die Datenbankstruktur auf die Standardausgabe ausgibt. Dies bedeutet, dass wir auf dem Terminal (Befehlszeilenfenster) nach oben und unten scrollen müssen, was möglicherweise nicht hilfreich ist.
Wir können >
verwenden, um das Backup ohne Daten in einer Datei zu speichern. Wir können das auch mit den oben angegebenen Befehlen tun.
Beispielcode (Datenbankstruktur aller Datenbanken in eine Datei holen):
mysqldump -u username -p --no-data --all-databases > E:\\Databases_Structure.sql
Verwandter Artikel - MySQL Table
- Alle Zeilen einer MySQL-Tabelle durchlaufen
- Kopieren Sie Tabellenstrukturen, ohne Daten in MySQL zu kopieren
- Rufen Sie die ID des zuletzt eingefügten Datensatzes in MySQL ab
- Sichern Sie eine einzelne Tabelle mit Mysqldump
- Unterschied zwischen zwei Tabellen in MySQL