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.
Valore | Spiegazione |
---|---|
AUTO_INCREMENT | La colonna è stata creata con la parola chiave AUTO_INCREMENT |
PERSISTENT | La colonna è stata creata con la parola chiave PERSISTENT (nuovo in 5.3) |
VIRTUAL | La colonna è stata creata con la parola chiave VIRTUAL |
on update CURRENT_TIMESTAMP | La 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.