MySQL information_schema详解 KEY_COLUMN_USAGE

时间:2022-07-23
本文章向大家介绍MySQL information_schema详解 KEY_COLUMN_USAGE,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

这个专题主要讲information_ schema数据库下的一些表

如无特殊说明数据库版本为MySQL 5.7.26

1. KEY_COLUMN_USAGE

这两个表描述了主键约束的信息

他有如下栏位

  • CONSTRAINT_CATALOG 约束所属的目录名称,该值始终为def
  • CONSTRAINT_SCHEMA 约束所属的数据库名称
  • CONSTRAINT_NAME 约束的名字
  • TABLE_CATALOG 约束所在表所属的目录名称,该值始终为def
  • TABLE_SCHEMA 约束所在表的数据库名称
  • TABLE_NAME 约束所在的表的名称
  • COLUMN_NAME 拥有约束的列的名称,如果是外键约束,名称是该外键列,不是所引用的列
  • ORDINAL_POSITION 约束中列的位置,不是列在表中的位置,从1开始标记
  • POSITION_IN_UNIQUE_CONSTRAINT ,如果是唯一或者主键约束,值为NULL,如果是外键约束,该值为被引用表的列的位置
  • REFERENCED_TABLE_SCHEMA 被引用的表的数据库名称
  • REFERENCED_TABLE_NAME 被引用的表的名称
  • REFERENCED_COLUMN_NAME被引用的列的名称

3. 实际截图

我们新建如下表进行演示

CREATE TABLE t1
(
    s1 INT,
    s2 INT,
    s3 INT,
    PRIMARY KEY(s3)
) ENGINE=InnoDB;

CREATE TABLE t3
(
    s1 INT,
    s2 INT,
    s3 INT,
    KEY(s1),
    CONSTRAINT CO FOREIGN KEY (s2) REFERENCES t1(s3)
) ENGINE=InnoDB;

他有如下两行输出

  • CONSTRAINT_NAME = 'PRIMARY', TABLE_NAME = 't1', COLUMN_NAME = 's3', ORDINAL_POSITION = 1, POSITION_IN_UNIQUE_CONSTRAINT = NULL.
  • CONSTRAINT_NAME = 'CO', TABLE_NAME = 't3', COLUMN_NAME = 's2', ORDINAL_POSITION = 1, POSITION_IN_UNIQUE_CONSTRAINT = 1.

4. 参考链接

https://dev.mysql.com/doc/refman/5.7/en/key-column-usage-table.html