SHOW [FULL] {COLUMNS | FIELDS}
    {FROM | IN} tbl_name
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]
        SHOW COLUMNS显示有关给定表中列的信息。它也适用于视图。
        SHOW COLUMNS仅显示您具有某些权限的那些列的信息。
      
mysql> SHOW COLUMNS FROM City;
+-------------+----------+------+-----+---------+----------------+
| Field       | Type     | Null | Key | Default | Extra          |
+-------------+----------+------+-----+---------+----------------+
| ID          | int(11)  | NO   | PRI | NULL    | auto_increment |
| Name        | char(35) | NO   |     |         |                |
| CountryCode | char(3)  | NO   | MUL |         |                |
| District    | char(20) | NO   |     |         |                |
| Population  | int(11)  | NO   |     | 0       |                |
+-------------+----------+------+-----+---------+----------------+语法
        
        的替代方法是. 这两个语句是等价的:
      tbl_name
        FROM db_namedb_name.tbl_name
SHOW COLUMNS FROM mytable FROM mydb;
SHOW COLUMNS FROM mydb.mytable;
        可选FULL关键字使输出包括列排序规则和注释,以及您对每一列的权限。
      
        该LIKE子句(如果存在)指示要匹配的列名。该
        WHERE子句可以使用更一般的条件来选择行,如
        第 21.9 节“SHOW 语句的扩展”中所讨论的。
      
        数据类型可能与您基于CREATE TABLE语句期望的不同,因为 MySQL 有时会在您创建或更改表时更改数据类型。发生这种情况的条件在第 13.1.17.6 节“静默列规范更改”中有所描述。
      
        SHOW COLUMNS为每个表列显示以下值:
Field列名称。
Type列数据类型。
CollationNULL非二进制字符串列或其他列 的排序规则 。FULL仅当您使用关键字 时才会显示此值。Null列的可空性。该值是值
YES是否NULL可以存储在列中,NO如果不是。Key该列是否被索引:
如果
Key为空,则该列未编制索引或仅作为多列非唯一索引中的辅助列编制索引。如果
Key是PRI,则该列是一个PRIMARY KEY或是多列中的列之一PRIMARY KEY。如果
Key是UNI,则该列是UNIQUE索引的第一列。(UNIQUE索引允许多个 值,但您可以通过检查字段NULL来判断该列是否允许。)NULLNull如果
Key是MUL,则该列是非唯一索引的第一列,在该索引中允许在该列中多次出现给定值。
如果多个
Key值应用于表的给定列,Key则显示具有最高优先级的值,顺序为PRI,UNI,MUL。UNIQUE索引可能显示为 好像PRI它不能包含NULL值并且PRIMARY KEY表中没有。一个UNIQUE索引可能显示为MUL多个列组成一个复合UNIQUE索引;尽管列的组合是唯一的,但每一列仍然可以包含多次出现的给定值。Default列的默认值。这是
NULL如果列具有显式默认值NULL,或者如果列定义不包含任何DEFAULT子句。Extra有关给定列的任何其他可用信息。在这些情况下该值是非空的:
auto_increment对于具有AUTO_INCREMENT属性的列;on update CURRENT_TIMESTAMPforTIMESTAMP或DATETIME具有ON UPDATE CURRENT_TIMESTAMP属性的列。Privileges您对该列拥有的权限。
FULL仅当您使用关键字 时才会显示此值。Comment列定义中包含的任何注释。
FULL仅当您使用关键字 时才会显示此值。
        表格列信息也可从
        INFORMATION_SCHEMA
        COLUMNS表格中获得。请参阅
        第 21.3.5 节,“INFORMATION_SCHEMA COLUMNS 表”。
      
您可以使用mysqlshow
        db_name
        tbl_name命令
      
        列出表的列。
        该DESCRIBE声明提供的信息类似于SHOW
        COLUMNS。请参阅第 13.8.1 节,“DESCRIBE 语句”。
      
        、SHOW CREATE TABLE和
        语句还提供有关表的信息SHOW TABLE STATUS。
        SHOW INDEX请参阅第 13.7.5 节,“SHOW 语句”。