Weiter Zurück [Inhalt] Online Suche im Handbuch

31.17 Wie man Informationen über Datenbanken und Tabellen erhält

Es könnte sein, daß man den Namen von Datenbanken oder einer Tabelle vergessen hat. Für diesen Fall gibt es in MySQL verschiedene Möglichkeiten, sich Informationen ausgeben zu lassen:


mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie  |
+------------+

Diese Ausgabe tritt immer dann auf, wenn man noch keine Datenbank ausgewählt hat, ein häufiger Fehler, wenn man gerade MySQL installiert hat, und sich erwartungsvoll an die Datenbank angekoppelt hat.


mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| ereignis            |
| tier                |
+---------------------+

Aha, fein. Nu wollen wir explizit eine Beschreibung der Tabelle tier haben:


mysql> DESCRIBE tier;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| name     | varchar(20) | YES  |     | NULL    |       |
| besitzer | varchar(20) | YES  |     | NULL    |       |
| spezies  | varchar(20) | YES  |     | NULL    |       |
|geschlecht| char(1)     | YES  |     | NULL    |       |
| birth    | date        | YES  |     | NULL    |       |
| death    | date        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+

DESCRIBE beschreibt einige Dinge, über die wir uns bisher nicht gekümmert haben, z.B. Key, Null, Default und Extra. Wir sehen die Tabelle nun in etwas anderer Form. Die gewohnten Spalten stehen in Zeilen, und dafür stehen die Eigenschaften in Spalten. Bei Type ist der Datentyp angegeben, Null zeigt an, ob die Spalte den Wert NULL enthalten darf, Key zeigt an, ob ein INDEX angelegt wurde, und Default zeigt an, welchen Wert die Zelle annimmt, wenn z.B. die Tabelle aus einer nicht ganz gefüllten ASCII - Datei geladen wurde.

Mit dem Feld INDEX hat es eine besondere Bewandnis, die die Geschwindigkeit der SQL-Abfragen dramatisch beschleunigen kann. Dazu mehr aber später.

Wenn Indizes in einer Tabelle angelegt wurden, oder wenn einen Spalte indiziert wurde, dann zeigt der Befehl:

SHOW INDEX FROM tbl_name produces

weitere Informationen an.


Weiter Zurück [Inhalt] Online Suche im Handbuch