Come faccio a mostrare lo schema di una tabella in un database MySQL?


Risposte:


535
describe [db_name.]table_name;

per output formattato, o

show create table [db_name.]table_name;

per l'istruzione SQL che può essere utilizzata per creare una tabella.


2
Questa non è la risposta L'OP sta cercando di capire la parte "nome_db" e questa soluzione presuppone che tu lo sappia già
Antonio Ortells il

40
il PO ha accettato quella risposta 7 anni fa. Penso che fosse contento di quella risposta.
Omry Yadan,

Il database non è uno schema.
Coder

1
o desc [db_name.]table_name;in breve.
yakout,

1
A difesa di Antionio, alcuni sistemi fanno riferimento alle loro raccolte di tabelle correlate come schemi e non come database. Non sono sicuro di quale o perché.
dlamblin,

108
SHOW CREATE TABLE yourTable;

o

SHOW COLUMNS FROM yourTable;

18

Puoi anche usare la scorciatoia per descrivere come descper la descrizione della tabella.

desc [nome_db.] nome_tabella;

o

usa db_name;
desc table_name;

È inoltre possibile utilizzare explainper la descrizione della tabella.

spiega [nome_db.] nome_tabella;

Vedi doc ufficiale

Fornirà output come:

+----------+-------------+------+-----+---------+-------+
| 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    |       |
+----------+-------------+------+-----+---------+-------+

12

Forse la domanda deve essere leggermente più precisa qui su ciò che è richiesto perché può essere letto in due modi diversi. vale a dire

  1. Come posso ottenere la struttura / definizione per una tabella in mysql?
  2. Come posso ottenere il nome dello schema / database in cui risiede questa tabella?

Data la risposta accettata, il PO intendeva chiaramente che fosse interpretato nel primo modo. Per chiunque legga la domanda dall'altra parte, prova

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';

La tua risposta per il secondo punto mi ha aiutato per quello che sto cercando. Il mio editor ha generato l'errore che diceva "Oggetto non valido" sulla tabella che ho provato a utilizzare e non ho idea del DB o dello schema in cui rientra la tabella poiché la tabella è già stata creata da qualcun altro già, fino a quando non ho ricevuto queste informazioni
mannedear il

5
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.