Wie zeige ich das Schema einer Tabelle in einer MySQL-Datenbank?

Antworten:

535
describe [db_name.]table_name;

für formatierte Ausgabe oder

show create table [db_name.]table_name;

für die SQL-Anweisung, mit der eine Tabelle erstellt werden kann.

Omry Yadan
quelle
2
Dies ist nicht die Antwort. Das OP versucht, den Teil "db_name" herauszufinden, und diese Lösung setzt voraus, dass Sie das bereits wissen
Antonio Ortells
40
Das OP hat diese Antwort vor 7 Jahren akzeptiert. Ich denke, er war mit dieser Antwort zufrieden.
Omry Yadan
Die Datenbank ist kein Schema.
Coder
1
oder desc [db_name.]table_name;kurz.
Yakout
1
Zur Verteidigung von Antionio bezeichnen einige Systeme ihre Sammlungen verwandter Tabellen als Schemata und nicht als Datenbanken. Nicht sicher, welche oder warum.
Dlamblin
108
SHOW CREATE TABLE yourTable;

oder

SHOW COLUMNS FROM yourTable;
Bobby
quelle
18

Sie können auch die Kurzform für die Beschreibung wie descfür die Tabellenbeschreibung verwenden.

desc [Datenbankname.] Tabellenname;

oder

benutze db_name;
desc table_name;

Sie können auch explainzur Tabellenbeschreibung verwenden.

erkläre [Datenbankname.] Tabellenname;

Siehe offizielles Dokument

Gibt Ausgabe wie:

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(10)     | NO   | PRI | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| age      | int(10)     | YES  |     | NULL    |       |
| sex      | varchar(10) | YES  |     | NULL    |       |
| sal      | int(10)     | YES  |     | NULL    |       |
| location | varchar(20) | YES  |     | Pune    |       |
+----------+-------------+------+-----+---------+-------+
Somnath Muluk
quelle
12

Vielleicht ist die Frage leicht um genauer zu sein hier über das, was erforderlich ist , weil es kann es zwei verschiedene Arten lesen sein. dh

  1. Wie erhalte ich die Struktur / Definition für eine Tabelle in MySQL?
  2. Wie erhalte ich den Namen des Schemas / der Datenbank, in dem sich diese Tabelle befindet?

Angesichts der akzeptierten Antwort beabsichtigte das OP eindeutig, sie zunächst zu interpretieren. Wenn jemand die Frage anders liest, versuchen Sie es

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';
Paul Campbell
quelle
Ihre Antwort auf den zweiten Punkt hat mir geholfen, was ich suche. Mein Editor die Fehlermeldung, „Invalid Object“ auf den Tisch geworfen Ich habe versucht , zu verwenden , und ich habe keine Ahnung über die DB oder Schema unter dem die Tabelle in fällt , wie der Tisch bereits von jemand anderem bereits erstellt wird, bis ich diese Informationen habe
mannedear
5
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
Lam
quelle