• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • vue手册
  • php手册
  • MySQL手册
  • apache手册
  • redis手册
  • COLUMNS表

    COLUMNS表提供有关表中列的信息。相关ST_GEOMETRY_COLUMNS表提供有关存储空间数据的表列的信息。请参见“ INFORMATION_SCHEMA ST_GEOMETRY_COLUMNS表”。

    COLUMNS表包含以下列:

    • TABLE_CATALOG

      包含该列的表所属的目录的名称。此值始终为def

    • TABLE_SCHEMA

      包含该列的表所属的架构(数据库)的名称。

    • TABLE_NAME

      包含该列的表的名称。

    • COLUMN_NAME

      列的名称。

    • ORDINAL_POSITION

      表格在表格中的位置。ORDINAL_POSITION是必要的,因为您可能想说ORDER BY ORDINAL_POSITION。不像SHOW COLUMNSSELECTCOLUMNS表没有自动排序。

    • COLUMN_DEFAULT

      列的默认值。这是NULL如果列有一个明确的默认NULL,或者如果列定义不包括DEFAULT条款。

    • IS_NULLABLE

      列的可空性。值是YES是否NULL可以将值存储在列中(NO如果不能)。

    • DATA_TYPE

      列数据类型。

      DATA_TYPE值仅是类型名称,没有其他信息。该COLUMN_TYPE值包含类型名称以及可能的其他信息,例如精度或长度。

    • CHARACTER_MAXIMUM_LENGTH

      对于字符串列,以字符为单位的最大长度。

    • CHARACTER_OCTET_LENGTH

      对于字符串列,最大长度以字节为单位。

    • NUMERIC_PRECISION

      对于数字列,数字精度。

    • NUMERIC_SCALE

      对于数字列,数字刻度。

    • DATETIME_PRECISION

      对于时间列,分数秒精度。

    • CHARACTER_SET_NAME

      对于字符串列,字符集名称。

    • COLLATION_NAME

      对于字符串列,归类名称。

    • COLUMN_TYPE

      列数据类型。

      DATA_TYPE值仅是类型名称,没有其他信息。该COLUMN_TYPE值包含类型名称以及可能的其他信息,例如精度或长度。

    • COLUMN_KEY

      列是否被索引:

      • 如果COLUMN_KEY为空,则该列要么不被索引,要么仅被索引为多列非唯一索引中的第二列。
      • 如果COLUMN_KEY为is PRIPRIMARY KEY则列为a 或为多列中的列之一PRIMARY KEY
      • 如果COLUMN_KEYUNI,则该列为UNIQUE索引的第一列。(UNIQUE索引允许多个NULL值,但是您可以NULL通过检查Null列来判断该列是否允许。)
      • 如果COLUMN_KEY为is MUL,则该列是非唯一索引的第一列,在该列中允许多次出现给定值。

      如果超过一个COLUMN_KEY值适用于表中给定的列,COLUMN_KEY显示一个具有最高优先级,顺序PRIUNIMUL

      UNIQUE索引可被显示为PRI,如果它不能包含NULL值并没有PRIMARY KEY在表中。甲UNIQUE索引可能会显示为MUL如果若干列形成复合UNIQUE索引;尽管各列的组合是唯一的,但各列仍可以容纳多次出现的给定值。

    • EXTRA

      有关给定列的任何其他可用信息。在以下情况下,该值是非空的:

      • auto_increment具有AUTO_INCREMENT属性的列。
      • on update CURRENT_TIMESTAMP对于TIMESTAMPDATETIME有列ON UPDATE CURRENT_TIMESTAMP属性。
      • STORED GENERATEDVIRTUAL GENERATED用于生成的列。
      • DEFAULT_GENERATED对于具有表达式默认值的列。
    • PRIVILEGES

      您具有该列的特权。

    • COLUMN_COMMENT

      列定义中包含的任何注释。

    • GENERATION_EXPRESSION

      对于生成的列,显示用于计算列值的表达式。对于未生成的列为空。有关生成的列的信息,请参见“创建表和生成的列”。

    • SRS_ID

      此值适用于空间列。它包含列SRID值,该值指示该列中存储的值的空间参考系统。请参见“空间数据类型”和“空间参考系统支持”。该值NULL适用于无SRID属性的非空间列和空间列。

    注意

    • 在中SHOW COLUMNSType显示包括来自几个不同COLUMNS列的值。
    • CHARACTER_OCTET_LENGTH应该与相同CHARACTER_MAXIMUM_LENGTH,除了多字节字符集。
    • CHARACTER_SET_NAME可以源自COLLATION_NAME。例如,如果您说SHOW FULL COLUMNS FROM t,并且在COLLATION_NAME列中看到的值utf8_swedish_ci,则该字符集就是第一个下划线之前的字符:utf8

    SHOW COLUMNS语句中也提供列信息。请参见“ SHOW COLUMNS语句”。以下语句几乎等效:

    SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
      FROM INFORMATION_SCHEMA.COLUMNS
      WHERE table_name = 'tbl_name'
      [AND table_schema = 'db_name']
      [AND column_name LIKE 'wild']
    
    SHOW COLUMNS
      FROM tbl_name
      [FROM db_name]
      [LIKE 'wild']