SHOW COLUMNS

Sintassi

SHOW [FULL] COLUMNS FROM nome_tabella [FROM nome_db]
    [LIKE 'pattern' | WHERE espr]

Spiegazione

SHOW COLUMNS mostra informazioni sulle colonne di una data tabella. Funziona anche con le viste. La clausola LIKE, se presente, retringe l'output alle colonne i cui nomi corrispondono al pattern. La clausola WHERE può essere usata per specificare condizioni più generiche, come spiegato in http://dev.mysql.com/doc/refman/5.1/en/extended-show.html.

MariaDB [test]> SHOW COLUMNS FROM city;
+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| Id         | int(11)  | NO   | PRI | NULL    | auto_increment |
| Name       | char(35) | NO   |     |         |                |
| Country    | char(3)  | NO   | UNI |         |                |
| District   | char(20) | YES  | MUL |         |                |
| Population | int(11)  | NO   |     | 0       |                |
+------------+----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

Se i tipi dei dati non sono quelli che ci si aspetta in base all'istruzione CREATE TABLE che è stata usata, si noti che a volte MySQL modifica i tipi quando si crea o si altera una tabella. Le condizioni sotto le quali ciò accade sono illustrate alla pagina http://dev.mysql.com/doc/refman/5.1/en/silent-column-changes.html.

La parola chiave FULL fa sì che l'output includa la collation e i commenti, così come i privilegi di cui si dispone per ogni colonna.

E' possibile usare la forma nome_db.nome_tabella in alternativa a tbl_name FROM db_name. In altre parole, le seguenti istruzioni sono equivalenti:

SHOW COLUMNS FROM nome_tabella FROM nome_db;
SHOW COLUMNS FROM nome_db.nome_tabella;

SHOW COLUMNS mostra i seguenti valori per ogni colonna della tabella:

Field indica il nome della colonna.

Type indica il tipo della colonna.

Collation per le stringhe non binarie indica la collatiion, per le altre colonne è NULL. Questo valore viene mostrato solo se si specifica la parola chiave FULL.

Il campo Null contiene YES se i valori NULL sono ammessi nella colonna, altrimenti NO.

Il campo Key indica se la colonna è indicizzata:

  • Se Key è vuoto, la colonna non è indicizzata, oppure è una colonna secondaria in un indice a colonne multiple e non univoco.
  • Se Key è PRI, la colonna è una chiave primaria, oppure è parte di una chiave primaria a colonne multiple.
  • Se Key è UNI, la colonna è il primo campo di un indice univoco che non può contenere valori NULL.
  • Se Key è MUL, nella colonna sono ammesse ripetizioni dello stesso valore. E' la prima colonna di un indice non univoco, o un indice univoco che può contenere valori NULL.

Se per una data colonna si applica più di un valore in Key, viene mostrato quello con la priorità più alta, che nell'ordine sono: PRI, UNI, MUL.

Un indice UNIQUE può comparire come PRI se non può contenere valori NULL e se nella tabella non è presente alcuna chiave primaria.Può comparire come MUL se sono presenti diverse colonne che formano un indice UNIQUE: sebbene la combinazione delle colonne sia univoca, ogni colonna può ancora contenere più occorrenze dello stesso valore.

Il campo Default indica il valore predefinito della colonna.

Il campo Extra contiene informazioni aggiuntive sulla colonna.

ValoreSpiegazione
AUTO_INCREMENTLa colonna è stata creata con la parola chiave AUTO_INCREMENT
PERSISTENTLa colonna è stata creata con la parola chiave PERSISTENT (nuovo in 5.3)
VIRTUALLa colonna è stata creata con la parola chiave VIRTUAL
on update CURRENT_TIMESTAMPLa colonna è di tipo TIMESTAMP e viene aggiornata automaticamente con le istruzioni INSERT e UPDATE

Privileges indica i privilegi di cui si dispone sulla colonna. Questo valore viene mostrato solo se si utilizza la parola chiave FULL.

Comment indica il commento associato alla colonna. Questo valore viene mostrato solo se si utilizza la parola chiave FULL.

SHOW FIELDS è sinonimo di SHOW COLUMNS. E' possibile ottenere una lista delle colonne della tabella anche con il comando:

mysqlshow nome_db nome_tabella

L'istruzione DESCRIBE restituisce informazioni simili a SHOW COLUMNS.

Anche le istruzioni SHOW CREATE TABLE, SHOW TABLE STATUS e SHOW INDEX forniscono informazioni sulle tabelle.

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.