SHOW COLUMNS

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

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.

A UNIQUE index may be displayed as PRI if it cannot contain NULL values and there is no PRIMARY KEY in the table. A UNIQUE index may display as MUL if several columns form a composite UNIQUE index; although the combination of the columns is unique, each column can still hold multiple occurrences of a given value.

The Default field indicates the default value that is assigned to the column.

The Extra field contains any additional information that is available about a given column.

ValueDescription
AUTO_INCREMENTThe column was created with the AUTO_INCREMENT keyword.
PERSISTENTThe column was created with the PERSISTENT keyword. (New in 5.3)
VIRTUALThe column was created with the VIRTUAL keyword.
on update CURRENT_TIMESTAMPThe column is a TIMESTAMP column that is automaticly updated on INSERT and UPDATE.

Privileges indicates the privileges you have for the column. This value is displayed only if you use the FULL keyword.

Comment indicates any comment the column has. This value is displayed only if you use the FULL keyword.

SHOW FIELDS is a synonym for SHOW COLUMNS. You can also list a table's columns with the mysqlshow db_name tbl_name command.

The DESCRIBE statement provides information similar to SHOW COLUMNS.

The SHOW CREATE TABLE, SHOW TABLE STATUS, and SHOW INDEX statements also provide information about tables.

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.