zoukankan      html  css  js  c++  java
  • information_schema.key_column_usage 学习

    information_schema.key_column_usage 表可以查看索引列上的约束;

    1、information_schema.key_column_usage 的常用列:

      1、constraint_catalog              :约束类型这个永远是def

      2、constraint_schema              :约束所在的数据库名

      3、constraint_name               :约束名

      4、table_catalog                 :表类型这个永远是def

      5、table_schema                  :表所在的数据库名

      6、column_name                  :索引所在的列名

      7、referenced_table_schema           :被引用表所在的数据库名

      8、referenced_table_name            :被引用的表名

      9、referenced_column_name           :被引用表的列名

    2、例子:

    通过information_schema.key_column_usage表来查看外键引用关系

      1、创建有主外键关系的表

    create table teacher(
    id int not null auto_increment,
    name varchar(16) not null,
    primary key pk_teacher(id)
    ) engine=innodb default char set utf8;
    
    
    
    create table student(
    id int not null auto_increment,
    name varchar(16) not null,
    teacher_id int not null,
    constraint pk_student__id primary key(id),
    constraint fk_stuent__teacher_id foreign key(teacher_id) references teacher(id)
    ) engine=innodb default char set utf8;

      2、查看索引列上的约束

    select * from KEY_COLUMN_USAGE where table_schema='tempdb' G
    *************************** 1. row ***************************
               CONSTRAINT_CATALOG: def
                CONSTRAINT_SCHEMA: tempdb
                  CONSTRAINT_NAME: PRIMARY
                    TABLE_CATALOG: def
                     TABLE_SCHEMA: tempdb
                       TABLE_NAME: student
                      COLUMN_NAME: id
                 ORDINAL_POSITION: 1
    POSITION_IN_UNIQUE_CONSTRAINT: NULL
          REFERENCED_TABLE_SCHEMA: NULL
            REFERENCED_TABLE_NAME: NULL
           REFERENCED_COLUMN_NAME: NULL
    *************************** 2. row ***************************
               CONSTRAINT_CATALOG: def
                CONSTRAINT_SCHEMA: tempdb
                  CONSTRAINT_NAME: fk_stuent__teacher_id
                    TABLE_CATALOG: def
                     TABLE_SCHEMA: tempdb
                       TABLE_NAME: student
                      COLUMN_NAME: teacher_id
                 ORDINAL_POSITION: 1
    POSITION_IN_UNIQUE_CONSTRAINT: 1
          REFERENCED_TABLE_SCHEMA: tempdb
            REFERENCED_TABLE_NAME: teacher
           REFERENCED_COLUMN_NAME: id
    *************************** 3. row ***************************
               CONSTRAINT_CATALOG: def
                CONSTRAINT_SCHEMA: tempdb
                  CONSTRAINT_NAME: PRIMARY
                    TABLE_CATALOG: def
                     TABLE_SCHEMA: tempdb
                       TABLE_NAME: teacher
                      COLUMN_NAME: id
                 ORDINAL_POSITION: 1
    POSITION_IN_UNIQUE_CONSTRAINT: NULL
          REFERENCED_TABLE_SCHEMA: NULL
            REFERENCED_TABLE_NAME: NULL
           REFERENCED_COLUMN_NAME: NULL
  • 相关阅读:
    【arm】arm平台下char默认数据类型与-fsigned-char
    【arm】arm指令集架构和处理器命名规则和历史
    【shell】正则表达式用法:匹配不包含字符串
    【arm】arm后缀.s和.S的区别以及asm.S说明
    【Optimization/x86】内联汇编Inline assembly——基础学习
    【Optimizaiton/x86】x86 SSE Intrinsic: 点乘算法的Intrinsic实现
    【Optimizaition/x86】Intel CPU的CPUID指令获取的C实现
    【linux】Linux中Core Dump分析
    【shell】linux 查看文件夹以及文件大小数目等信息
    【arm】arm-assembly-print-register-value-in-decimal
  • 原文地址:https://www.cnblogs.com/JiangLe/p/5812613.html
Copyright © 2011-2022 走看看