Tabellen- und Datenbankstruktur in MySQL anzeigen

Mehvish Ashiq 20 Juni 2023
  1. Tabellenstruktur in MySQL anzeigen
  2. Verwenden Sie mysqldump, um die Datenbankstruktur in MySQL anzuzeigen
Tabellen- und Datenbankstruktur in MySQL anzeigen

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.

  1. Das Flag -u zeigt den Benutzernamen an.
  2. 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 ).
  3. Wir verwenden --no-data, wenn wir keine Daten aufnehmen müssen. Alternativ können wir hier auch -d verwenden.
  4. Die --database wird verwendet, wenn wir ein Backup für eine/mehrere Datenbanken erhalten möchten.
  5. Wir verwenden --all-databases, um alle Datenbanken auf einmal zu sichern.
  6. 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
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Verwandter Artikel - MySQL Table

Verwandter Artikel - MySQL Database