3.4 Informationen über Datenbanken und Tabellen abrufen
Was ist, wenn Sie den Namen einer Datenbank oder Tabelle vergessen haben oder nicht mehr wissen, wie die Struktur einer bestimmten Tabelle aussieht (zum Beispiel, wie ihre Spalten heißen)? MySQL löst dieses Problem durch mehrere Anweisungen, die Informationen über die unterstützten Datenbanken und Tabellen liefern.
Sie haben bereits das SHOW DATABASES
gesehen, das die vom Server verwalteten Datenbanken auflistet. Um herauszufinden, welche Datenbank gerade ausgewählt ist, verwenden Sie die Funktion DATABASE()
:
mysql> SELECT DATABASE();+------------+| DATABASE() |+------------+| menagerie |+------------+
Wenn Sie noch keine Datenbank ausgewählt haben, lautet das Ergebnis NULL
.
Um herauszufinden, welche Tabellen die Standarddatenbank enthält (zum Beispiel, wenn Sie sich über den Namen einer Tabelle nicht sicher sind), verwenden Sie diese Anweisung:
mysql> SHOW TABLES;+---------------------+| Tables_in_menagerie |+---------------------+| event || pet |+---------------------+
Der Name der Spalte in der von dieser Anweisung erzeugten Ausgabe ist immer Tables_in_
, wobei db_name
db_name
der Name der Datenbank ist. Weitere Informationen finden Sie in Abschnitt 13.7.7.39, „SHOW TABLES-Anweisung“.
Wenn Sie sich über die Struktur einer Tabelle informieren wollen, ist die DESCRIBE
-Anweisung nützlich; sie zeigt Informationen über jede der Spalten einer Tabelle an:
mysql> DESCRIBE pet;+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| name | varchar(20) | YES | | NULL | || owner | varchar(20) | YES | | NULL | || species | varchar(20) | YES | | NULL | || sex | char(1) | YES | | NULL | || birth | date | YES | | NULL | || death | date | YES | | NULL | |+---------+-------------+------+-----+---------+-------+
Field
gibt den Spaltennamen an, Type
ist der Datentyp der Spalte, NULL
gibt an, ob die Spalte NULL
Werte enthalten kann, Key
gibt an, ob die Spalte indiziert ist, und Default
gibt den Standardwert der Spalte an. Extra
zeigt spezielle Informationen über Spalten an: Wenn eine Spalte mit der Option AUTO_INCREMENT
erstellt wurde, ist der Wert auto_increment
und nicht leer.
DESC
ist eine Kurzform von DESCRIBE
. Weitere Informationen finden Sie in Abschnitt 13.8.1, „DESCRIBE-Anweisung“.
Die CREATE TABLE
-Anweisung, die zum Erstellen einer bestehenden Tabelle erforderlich ist, erhalten Sie mit der SHOW CREATE TABLE
-Anweisung. Siehe Abschnitt 13.7.7.10, „SHOW CREATE TABLE-Anweisung“.
Wenn Sie Indizes auf einer Tabelle haben, liefert SHOW INDEX FROM
Informationen darüber. Mehr über diese Anweisung erfahren Sie in Abschnitt 13.7.7.22, „SHOW INDEX-Anweisung“.tbl_name