Wie man MySQL-Tabellendaten und -struktur anzeigt (SHOW TABLES, DESCRIBE, SELECT, INFORMATION_SCHEMA)

目次

1. Einführung

Beim Verwalten einer Datenbank mit MySQL gibt es viele Situationen, in denen Sie „nachsehen wollen, was in einer Tabelle steckt“. Zum Beispiel möchten Sie überprüfen, ob Testdaten korrekt gespeichert wurden, oder bestätigen, dass die erwarteten Daten beim Entwickeln einer Anwendung eingefügt werden. Die Möglichkeit, Tabelleninhalte schnell zu inspizieren, ist äußerst wichtig.

In der Entwicklung und im täglichen Betrieb benötigen Sie häufig Informationen wie „Wie sieht die Tabellenstruktur aus?“ oder „Wie lauten die Spaltentypen und -einschränkungen?“. Wenn Sie jedoch nicht mit MySQL vertraut sind, kann es überraschend unklar sein, wie man den Inhalt und die Struktur einer Tabelle prüft.

In diesem Artikel erklären wir alles von den Grundlagen des Prüfens von Tabelleninhalten und -struktur in MySQL bis hin zu praktischen, häufig genutzten Befehlen und fortgeschrittenen Techniken sowie zu typischen Fehlern und deren Fehlersuche. Dieser Leitfaden enthält hilfreiche Informationen für Einsteiger und für alle, die MySQL regelmäßig nutzen – nutzen Sie ihn also als Referenz.

2. Voraussetzung: Verbindung zu MySQL herstellen

Um den Inhalt und die Struktur von MySQL‑Tabellen zu prüfen, müssen Sie zunächst eine Verbindung zum MySQL‑Server herstellen. Hier erklären wir, wie Sie sich über die Befehlszeile (Terminal oder Eingabeaufforderung) bei MySQL anmelden und wie Sie eine Datenbank auswählen.

Wie man sich bei MySQL anmeldet

Um sich mit MySQL zu verbinden, verwenden Sie den folgenden Befehl.

mysql -u username -p

Ersetzen Sie „username“ durch Ihren MySQL‑Benutzernamen. Wenn Sie den Befehl ausführen, werden Sie zur Eingabe eines Passworts aufgefordert – geben Sie das korrekte Passwort ein.

Eine Datenbank auswählen

Nach erfolgreicher Anmeldung sehen Sie die MySQL‑Eingabeaufforderung (mysql>). Um die Datenbank zu wählen, mit der Sie arbeiten möchten, geben Sie den folgenden Befehl ein.

USE database_name;

Danach werden alle nachfolgenden Operationen gegen die ausgewählte Datenbank ausgeführt.
Wenn Sie diesen Schritt vergessen, kann ein Fehler wie „No database selected“ auftreten, also seien Sie vorsichtig.

Wie man Datenbanken auflistet

Wenn Sie eine Liste der auf dem Server vorhandenen Datenbanken sehen möchten, können Sie den folgenden Befehl verwenden.

SHOW DATABASES;

Damit werden alle Datenbanknamen in einer Liste angezeigt. Bestätigen Sie bei Bedarf hier den Namen der Ziel‑Datenbank und wechseln Sie mit USE database_name;.

3. Tabellenliste prüfen (Liste der Tabellen anzeigen)

Nachdem Sie sich mit MySQL verbunden und die Ziel‑Datenbank ausgewählt haben, möchten Sie häufig bestätigen, „welche Tabellen existieren“. Hier stellen wir die Grundmethode zum Auflisten von Tabellen vor sowie nützliche Techniken, um nur die Tabellen zu erhalten, die Sie benötigen.

Grundbefehl zum Auflisten von Tabellen

Um eine Liste der Tabellen anzuzeigen, verwenden Sie den folgenden Befehl.

SHOW TABLES;

Die Ausführung dieses Befehls zeigt eine Liste aller Tabellennamen in der aktuell ausgewählten Datenbank.
Beispielsweise könnten Tabellennamen wie „users“, „orders“ und „products“ vertikal aufgelistet werden.

Tabellenliste in einer anderen Datenbank prüfen

Wenn Sie die Tabellenliste einer anderen Datenbank prüfen wollen, die nicht gerade ausgewählt ist, schreiben Sie den Befehl so:

SHOW TABLES FROM database_name;

Mit diesem Ansatz können Sie schnell die Tabellen der angegebenen Datenbank prüfen, ohne jedes Mal die Datenbank mit dem USE‑Befehl zu wechseln.

Nach bestimmten Tabellennamen suchen (filtern)

Wenn es viele Tabellen gibt, möchten Sie ein Ziel schnell finden. In diesem Fall können Sie mit der Option LIKE filtern.

SHOW TABLES LIKE 'search_word%';

Beispiel: Wenn Sie nur Tabellen anzeigen wollen, die mit „user“ beginnen, geben Sie SHOW TABLES LIKE 'user%'; an.

Je nach MySQL‑Version können Sie auch eine SHOW TABLES WHERE‑Klausel verwenden.

SHOW TABLES WHERE Tables_in_database_name LIKE '%keyword%';

Tabellen aufzulisten ist ein grundlegender MySQL‑Vorgang, aber ein wenig Kreativität kann das Management und die Suche erheblich verbessern.

4. Tabellenstruktur prüfen (Spaltenliste)

Bevor Sie Tabelleninhalte prüfen, ist es sehr wichtig zu verstehen, „welche Spalten existieren und welche Datentypen und Einschränkungen gesetzt sind.“ Das Kennen der Tabellenstruktur hilft Ihnen, Daten korrekt abzurufen und zu bearbeiten, und es verhindert zudem Probleme während der Systementwicklung und im Betrieb.

Grundbefehl: DESCRIBE (DESC)

Der am häufigsten verwendete Befehl, um die Tabellenstruktur zu prüfen, ist DESCRIBE. Sie können auch die Kurzform DESC verwenden.

DESCRIBE table_name;

oder

DESC table_name;

Wenn Sie diesen Befehl ausführen, zeigt MySQL eine Liste von Spaltennamen, Datentypen, NULL‑Einschränkungen, Primärschlüssel‑Informationen und mehr an.

Hauptpunkte angezeigt:

  • Feld (Spaltenname)
  • Typ (Datentyp)
  • Null (ob NULL erlaubt ist)
  • Schlüssel (Primärschlüssel, Fremdschlüssel usw.)
  • Standard (Standardwert)
  • Extra (zusätzliche Informationen wie Auto‑Increment)

Befehl SHOW COLUMNS

SHOW COLUMNS FROM table_name; zeigt fast denselben Inhalt wie DESCRIBE. Je nach Situation ist die Verwendung dieses Befehls ebenfalls in Ordnung.

Wenn Sie detailliertere Informationen benötigen

Wenn Sie detailliertere Spalteninformationen benötigen, verwenden Sie SHOW FULL COLUMNS FROM table_name;. Dies beinhaltet zusätzliche Informationen wie Kollation (Collation) und Berechtigungen (Privileges).

Wann Prüfungen der Tabellenstruktur nützlich sind

  • Verstehen, „welche Spalten existieren“, während neuer Entwicklung oder Wartung
  • Prüfen Sie Spaltentypen, NULL‑Zulässigkeit und Primärschlüssel‑Informationen, wenn Sie ein bestehendes System untersuchen oder Datenintegration durchführen
  • Klarstellen, „welcher Datentyp gespeichert wird“, beim Schreiben von Code

Um Tabelleninhalte sicher und genau zu prüfen, beginnen Sie zunächst mit der Bestätigung der Tabellenstruktur.

5. Tabelleninhalte prüfen (Daten)

Sobald Sie die Tabellenstruktur verstanden haben, ist der nächste Schritt, zu prüfen, welche Daten tatsächlich in der Tabelle gespeichert sind. In MySQL können Sie Daten einer Tabelle einfach mit dem SELECT‑Befehl abrufen.

Alle Daten anzeigen

Wenn Sie alle Zeilen einer Tabelle anzeigen möchten, schreiben Sie die Abfrage wie folgt:

SELECT * FROM table_name;

Das Ausführen dieses Befehls zeigt alle Zeilen (Datensätze) in der Tabelle an.
Wenn die Tabelle jedoch eine große Datenmenge enthält, kann das gleichzeitige Anzeigen aller Daten schwer lesbar sein – seien Sie also vorsichtig.

Nur die benötigten Spalten auswählen

Wenn Sie nicht alle Spalten benötigen und nur bestimmte Informationen sehen möchten, geben Sie die Spaltennamen an, die Sie abrufen wollen:

SELECT column1, column2 FROM table_name;

Dies zeigt nur die angegebenen Spalten an, was die Überprüfung oder Aggregation von Daten erleichtert.

Daten nach Bedingungen filtern

Wenn Sie nur Daten prüfen möchten, die bestimmten Bedingungen entsprechen, verwenden Sie die WHERE‑Klausel:

SELECT * FROM table_name WHERE column_name = 'value';

Beispiel: Wenn Sie nur den Benutzer mit id = 10 in der Tabelle users prüfen möchten, schreiben Sie es so:
SELECT * FROM users WHERE id = 10;

Wenn Sie eine Teilübereinstimmung suchen möchten, verwenden Sie den LIKE‑Operator:

SELECT * FROM table_name WHERE column_name LIKE 'A%';

In diesem Beispiel werden nur Datensätze angezeigt, deren Spaltenwert mit „A“ beginnt.

Begrenzung der zurückgegebenen Zeilen (LIMIT‑Klausel)

Enthält die Tabelle eine sehr große Anzahl von Zeilen, ist es ebenfalls wichtig, die Anzahl der angezeigten Ergebnisse mit der LIMIT‑Klausel zu begrenzen:

SELECT * FROM table_name LIMIT 10;

Dies zeigt nur die ersten 10 Zeilen an.
Zusätzlich können Sie OFFSET verwenden, um anzugeben, ab welcher Zeile begonnen werden soll:

SELECT * FROM table_name LIMIT 10 OFFSET 20;

Damit werden 10 Zeilen ab der 21. Zeile abgerufen, was für die Seitennavigation und die Überprüfung großer Datensätze nützlich ist.

6. Detailliertere Tabelleninformationen erhalten

In MySQL gibt es Befehle, die nicht nur Tabelleninhalte und -struktur prüfen, sondern auch detailliertere Informationen liefern. Hier erklären wir, wie man den Tabellenstatus, Erstellungsdetails, Tabellengröße und mehr prüft.

Tabellenstatus prüfen (SHOW TABLE STATUS)

Wenn Sie einen Überblick über den Tabellenstatus und grundlegende Informationen erhalten möchten, verwenden Sie den Befehl SHOW TABLE STATUS:

SHOW TABLE STATUS;

Durch das Ausführen dieses Befehls wird eine Liste von Informationen wie die folgende für alle Tabellen in der aktuell ausgewählten Datenbank angezeigt:

  • Tabellenname (Name)
  • Engine (Engine)
  • Zeilenanzahl (Rows)
  • Tabellengröße (Data_length, Index_length)
  • Erstellungszeit (Create_time)
  • Letzte Aktualisierungszeit (Update_time)
  • Kollation (Collation), usw.

Wenn Sie nur eine bestimmte Tabelle prüfen möchten, geben Sie sie wie folgt an:

SHOW TABLE STATUS LIKE 'table_name';

SQL zum Erstellen der Tabelle (SHOW CREATE TABLE)

Wenn Sie wissen möchten, „Welches SQL wurde verwendet, um diese Tabelle zu erstellen?“, ist der Befehl SHOW CREATE TABLE nützlich:

SHOW CREATE TABLE table_name;

Bei Ausführung gibt er die genaue CREATE TABLE‑Anweisung aus, die zum Erstellen der Tabelle verwendet wurde.
Dieser Befehl ist äußerst hilfreich für Tabellenmigrationen, Backups und das erneute Erstellen derselben Tabelle in einer anderen Umgebung.

Wann detaillierte Tabelleninformationen nützlich sind

  • Verstehen Sie die Tabellengröße und Zeilenanzahl für Leistungsverbesserungen und Speicherverwaltung
  • Überprüfen Sie DDL (Tabellendefinitionen) als Referenzmaterial für Migrationen und Refactoring
  • Untersuchen Sie den Engine‑Typ, Zeichensatz und Indexinformationen, um Ursachen von Systemproblemen zu identifizieren

Durch das Beherrschen dieser Befehle können Sie Ihre Möglichkeiten bei MySQL‑Operationen und Fehlersuche erheblich erweitern.

7. Überprüfung über INFORMATION_SCHEMA (Erweitert)

MySQL stellt eine spezielle Datenbank namens INFORMATION_SCHEMA bereit. Sie speichert verschiedene Arten von Metadaten über den gesamten MySQL‑Server, einschließlich Tabelleninformationen, Spaltendetails, Indizes, Berechtigungen und mehr. Durch ihre Verwendung können Sie Tabellen‑ und Spalteninformationen flexibler und detaillierter abrufen.

Tabelleninformationen mit INFORMATION_SCHEMA abrufen

Zum Beispiel, wenn Sie eine Liste aller Tabellennamen in einer bestimmten Datenbank abrufen möchten, können Sie das folgende SQL verwenden:

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'database_name';

Dieses SQL ist nützlich, wenn Sie eine große Anzahl von Tabellen mit Verwaltungstools prüfen oder Informationen automatisch mit Skripten sammeln müssen.

Spalten- und Indexinformationen abrufen

Sie können Spalteninformationen auf ähnliche Weise abrufen:

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'database_name'
  AND TABLE_NAME = 'table_name';

Sie können auch leicht Indexdetails, Constraints, Fremdschlüssel und andere Metadaten mit INFORMATION_SCHEMA abrufen.

Beziehung zu ANALYZE TABLE

Für Performance‑Tuning und das Aktualisieren von Statistiken wird der Befehl ANALYZE TABLE verwendet.
Wenn Sie diesen Befehl ausführen, werden die Tabellestatistiken aktualisiert, und die aus INFORMATION_SCHEMA abgerufenen statistischen Werte (wie geschätzte Zeilenanzahlen) werden genauer.

ANALYZE TABLE table_name;

Wann INFORMATION_SCHEMA zu verwenden ist

  • Wenn Sie Informationen über mehrere Tabellen oder Spalten gleichzeitig abrufen möchten
  • Beim Überprüfen von Tabellen‑ und Spaltenstrukturen in Batch‑Verarbeitung oder Automatisierungsskripten
  • Wenn Sie detaillierte Informationen wie Indizes, Fremdschlüssel oder Tabellkommentare benötigen

INFORMATION_SCHEMA ist ein leistungsstarkes Werkzeug, um ein tieferes Verständnis von MySQL zu erlangen und es effizienter zu betreiben. Nutzen Sie es vollumfänglich in täglichen Verwaltungsaufgaben und der Systementwicklung.

8. CLI-Tools und Tastenkombinationen

Beim Prüfen von Tabelleninhalten und -struktur in MySQL kann das Wissen um praktische Befehlszeilen‑Interface (CLI)‑Befehle und Optionen Ihre Effizienz erheblich steigern. Hier stellen wir häufig genutzte CLI-Tools und hilfreiche Tastenkombinationen vor.

Der Befehl mysqlshow

MySQL stellt ein dediziertes CLI-Tool namens mysqlshow bereit.
Es ist spezialisiert auf das Auflisten von Datenbanken und Tabellen und ermöglicht es Ihnen, Informationen schnell zu prüfen, ohne sich interaktiv bei MySQL anzumelden.

Liste der Datenbanken anzeigen

mysqlshow -u username -p

Tabellen in einer bestimmten Datenbank anzeigen

mysqlshow -u username -p database_name

Spalteninformationen für eine bestimmte Tabelle anzeigen

mysqlshow -u username -p database_name table_name

Mit diesen kurzen Befehlen können Sie schnell Struktur und Vorhandensein prüfen, was sie für die Serververwaltung und das Scripting praktisch macht.

Ausgabe mit der „\G“-Option leichter lesbar machen

Normalerweise werden bei der Ausführung von SQL in MySQL die Ergebnisse in einem horizontalen Tabellenformat angezeigt. Wenn jedoch viele Spalten oder viel Information vorhanden sind, zeigt die Verwendung von „\G“ die Ergebnisse vertikal an, was das Lesen erheblich erleichtert.

Beispielhafte Verwendung

SELECT * FROM table_name\G

Wenn es so geschrieben wird, wird jeder Datensatz vertikal angezeigt, wobei Spaltennamen und Werte paarweise dargestellt werden. Das ist besonders nützlich, wenn man die Tabellenstruktur prüft oder die Details eines einzelnen Datensatzes sorgfältig überprüft.

Weitere nützliche CLI-Techniken

  • Verwendung des Befehlsverlaufs Sie können die Aufwärts‑ und Abwärtspfeiltasten benutzen, um zuvor ausgeführte Befehle abzurufen, sodass Sie denselben Befehl nicht wiederholt eingeben müssen.
  • Tab-Vervollständigung Wenn Sie Tabellen‑ oder Spaltennamen eingeben, drücken Sie die Tab‑Taste, nachdem Sie den Namen teilweise eingegeben haben, um ihn automatisch zu vervollständigen, wodurch Rechtschreib‑ und Eingabefehler reduziert werden.

Durch das Beherrschen von CLI‑Werkzeugen und Tastenkombinationen werden MySQL‑Operationen komfortabler und effizienter. Versuchen Sie, sie in Ihre tägliche Arbeit und Entwicklungsaufgaben zu integrieren.

9. Häufige Fehler und deren Behebung

Beim Prüfen von Tabelleninhalten und -struktur in MySQL gibt es mehrere häufige Fehler, die sowohl Anfängern als auch erfahrenen Benutzern mindestens einmal begegnen. Hier erklären wir klar typische Fehler, deren Ursachen und wie man sie behebt.

Keine Datenbank ausgewählt

Fehlermeldung

ERROR 1046 (3D000): No database selected

Ursache & Lösung
Dieser Fehler tritt auf, wenn Sie versuchen, auf Tabellen zu arbeiten, ohne zuvor eine Datenbank auszuwählen. Stellen Sie sicher, dass Sie die Ziel‑Datenbank im Voraus angeben, indem Sie folgendes verwenden:

USE database_name;

Unbekannte Datenbank

Fehlermeldung

ERROR 1049 (42000): Unknown database 'database_name'

Ursache & Lösung
Dies passiert, wenn die angegebene Datenbank nicht existiert. Häufige Ursachen sind Tippfehler, falsche Groß‑/Kleinschreibung oder dass die Datenbank noch nicht erstellt wurde. Verwenden Sie den folgenden Befehl, um den korrekten Namen zu bestätigen:

SHOW DATABASES;

Berechtigungsfehler (keine Ergebnisse bei SHOW TABLES / SHOW COLUMNS)

Beispielsituationen

  • Keine Tabellen werden angezeigt, wenn SHOW TABLES ausgeführt wird
  • Keine Informationen werden angezeigt, wenn SHOW COLUMNS ausgeführt wird

Ursache & Lösung
Dies tritt auf, wenn der MySQL‑Benutzer nicht über ausreichende Rechte für die Datenbank oder Tabelle verfügt. Bitten Sie einen Administrator (z. B. den root‑Benutzer), die erforderlichen Berechtigungen zu erteilen, oder konfigurieren Sie die Rechte mit dem entsprechenden GRANT‑Befehl.

Zu viele Zeilen zurückgegeben, wodurch Ergebnisse schwer lesbar sind

Beispielsituation

  • Ausführen von SELECT * FROM table_name; führt dazu, dass zehntausende Zeilen auf einmal angezeigt werden

Lösung
Verwenden Sie die LIMIT‑Klausel, um die Anzahl der zurückgegebenen Zeilen zu begrenzen. Beispiel:

SELECT * FROM table_name LIMIT 10;

Falsch geschriebene Tabellen‑ oder Spaltennamen

Beispielsituationen

  • Unbekannte Spalte ‚column_name‘ in ‚field list‘
  • Tabelle ‚database_name.table_name‘ existiert nicht

Lösung
Um Rechtschreibfehler zu vermeiden, verwenden Sie SHOW TABLES, SHOW COLUMNS oder die Tab‑Vervollständigungs‑Funktionen in der CLI.

Die meisten dieser Fehler können vermieden werden, indem grundlegende Prüfungen sorgfältig durchgeführt werden. Wenn etwas schiefgeht, überprüfen Sie die obigen Punkte Schritt für Schritt.

10. Zusammenfassung

Es gibt verschiedene Ansätze für die Grundoperation des „Prüfens von Tabelleninhalten“ in MySQL. In diesem Artikel haben wir alles behandelt, von der Auflistung von Tabellen und der Überprüfung detaillierter Tabellenstrukturen bis hin zum Abrufen tatsächlicher Daten sowie dem Erhalt erweiterter Metadaten und detaillierter Verwaltungsinformationen.

  • Verwenden Sie SHOW TABLES, um Tabellen aufzulisten,
  • Verwenden Sie DESCRIBE (DESC) oder SHOW COLUMNS, um Spalteninformationen und -struktur zu prüfen,
  • Verwenden Sie die SELECT‑Anweisung, um tatsächliche Daten abzurufen,
  • Verwenden Sie SHOW TABLE STATUS, SHOW CREATE TABLE und INFORMATION_SCHEMA, um detaillierte Verwaltungsinformationen und DDL bei Bedarf zu prüfen,
  • Und verbessern Sie die tägliche Entwicklungs‑ und Betriebs­effizienz mit CLI‑Tools, Tastenkombinationen und Fehlersuch‑Wissen.

Durch das Beherrschen dieser Techniken werden MySQL‑Datenbankoperationen sicherer und zuverlässiger, und Fehler oder Probleme können minimiert werden. Dieser Inhalt ist nützlich für Anfänger, fortgeschrittene Benutzer und Fachleute, die in realen Umgebungen arbeiten. Wenden Sie diese Techniken in Ihren zukünftigen Entwicklungs‑ und Systemadministrationsaufgaben an.

11. FAQ (Häufig gestellte Fragen)

Q1. Wie kann ich Tabellendaten mit bestimmten Bedingungen prüfen?

A:
Verwenden Sie die WHERE‑Klausel wie folgt:

SELECT * FROM table_name WHERE condition;

Zum Beispiel:

SELECT * FROM users WHERE age > 30;

Dies ruft nur Benutzer ab, die älter als 30 sind. Sie können es auch mit der LIMIT‑Klausel kombinieren, um zu steuern, wie viele Zeilen angezeigt werden.

Q2. Ich habe SHOW TABLES ausgeführt, aber es werden keine Tabellen angezeigt. Warum?

A:
Mögliche Ursachen sind:
(1) Sie haben keine Datenbank ausgewählt (USE datenbank_name; fehlt),
(2) Der angegebene Datenbankname ist falsch,
(3) Unzureichende Berechtigungen.
Verwenden Sie SHOW DATABASES;, um den Datenbanknamen zu bestätigen und zu prüfen, ob Sie die entsprechenden Rechte besitzen.

Q3. Wie kann ich die Tabellenstruktur als DDL (CREATE‑Anweisung) anzeigen?

A:
Führen Sie den folgenden Befehl aus:

SHOW CREATE TABLE table_name;

Er zeigt die genaue CREATE TABLE‑Anweisung, die zum Erstellen der Tabelle verwendet wurde. Dies ist nützlich für Tabellenmigrationen und Backups.

Q4. Es gibt zu viele Daten in der Tabelle, um sie auf einmal anzuzeigen.

A:
Verwenden Sie die LIMIT‑Klausel:

SELECT * FROM table_name LIMIT 10;

Sie können sie auch mit OFFSET kombinieren, um bestimmte Bereiche schrittweise zu prüfen.

Q5. Was ist INFORMATION_SCHEMA und wann sollte ich es verwenden?

A:
INFORMATION_SCHEMA ist eine spezielle Datenbank, die MySQL‑Metadaten speichert. Sie ist sehr nützlich, wenn Sie große Mengen an Informationen über Tabellen, Spalten, Indizes oder Berechtigungen abrufen oder verwalten müssen. Da sie direkt mit SQL abgefragt werden kann, ist sie auch ideal für Automatisierung und Berichterstellung.

Q6. Wie kann ich Ergebnisse vertikal anzeigen?

A:
Fügen Sie “\G” am Ende Ihrer SQL‑Anweisung hinzu.
Beispiel:

SELECT * FROM table_name\G

Damit wird jeder Datensatz vertikal angezeigt, wobei Spaltennamen und Werte in einem lesbaren Paarformat dargestellt werden.