information_schema.referential_constraints 学习

information_schema.referential_constraints 表用于查看外键约束

1、information_schema.referential_constraints表的常用列:

  1、constraint_schema                :约束(外键)所在的库名

  2、constraint_name                  :约束名(外键名)

  3、unique_constraint_schema            :被引用约束所在库名

  4、unique_constraint_name              :被引用约束名

2、例子:

  1、定义一对有外键约束的表:

create table teacher(
id int not null auto_increment,
name varchar(4),
constraint pk__teacher primary key(id),
constraint ix__teacher__name unique index (name))
engine=innodb default char set utf8;

create table student(
id int not null auto_increment,
name varchar(4),
teacher_id int not null,
teacher_name varchar(4),
constraint pk__student primary key(id),
constraint fk__student__id foreign key (teacher_id ) references teacher(id),
constraint fk__student__teacher_name foreign key (teacher_name) references teacher(name) on delete no action on update cascade)
engine=innodb default char set utf8;

  2、查看外键约束

select * from information_schema.referential_constraints \G
*************************** 1. row ***************************
       CONSTRAINT_CATALOG: def
        CONSTRAINT_SCHEMA: tempdb
          CONSTRAINT_NAME: fk__student__id
UNIQUE_CONSTRAINT_CATALOG: def
 UNIQUE_CONSTRAINT_SCHEMA: tempdb
   UNIQUE_CONSTRAINT_NAME: PRIMARY
             MATCH_OPTION: NONE
              UPDATE_RULE: RESTRICT
              DELETE_RULE: RESTRICT
               TABLE_NAME: student
    REFERENCED_TABLE_NAME: teacher
*************************** 2. row ***************************
       CONSTRAINT_CATALOG: def
        CONSTRAINT_SCHEMA: tempdb
          CONSTRAINT_NAME: fk__student__teacher_name
UNIQUE_CONSTRAINT_CATALOG: def
 UNIQUE_CONSTRAINT_SCHEMA: tempdb
   UNIQUE_CONSTRAINT_NAME: ix__teacher__name
             MATCH_OPTION: NONE
              UPDATE_RULE: CASCADE
              DELETE_RULE: NO ACTION
               TABLE_NAME: student
    REFERENCED_TABLE_NAME: teacher
时间: 2024-10-14 09:42:41

information_schema.referential_constraints 学习的相关文章

information_schema.column_privileges 学习

mysql 的授权是分层次的 实例级 | 库级 | 表级 | 列级 而这些授权信息被保存在了mysql.user | mysql.db | mysql.tables_priv | mysql.column_priv 等表中 而information_schema.column_privileges 表中的信息来自于mysql.column_priv 表 1.information_schema.column_privileges 表中常用的列: 1.grantee :用户(对列就相应权限的用户)

information_schema.collation_character_set_applicability 学习

字符集和排序规则之间是不可以随便搭配的.如果你想知道一个字符集它所搭配的排序规则有哪些?那就可以从information_schema.collation_character_set_applicability 这个表来看 1.information_schema.collation_character_set_applicability 常用列说明: 1.character_set_name :字符集名 2.collation_name  :排序规则名 2.例子: 测试字符集和与之匹配的排序规

information_schema.collations 学习

information_schema.collations 表中的每一行对应一个排序规则 1.information_schema.collations 表中学用列: 1.id :排序规则的ID 2.is_default :是否是字符集的默认排序规则 3.collation_name :排序规则名 4.character_set_name  :这个排序规则所对应的字符集名字 5.is_compiled :是不已经被编译进MySQL来了 2.例子: 查看实例的排序规则信息 select id, i

information_schema.columns 学习

每一个表中的每一列都会在information_schema.columns表中对应一行 1.informaiton_schema.columns 常用列: 1.table_catalog :不管是table | view 这个列的值总是def 2.table_schema  :表 | 视图所在的数据库名 3.table_name  :表名 | 视图名 4.column_name  :列名 5.column_default   :列的默认值 6.is_nullable  :是否可以取空值 7.d

information_schema.triggers 学习

mysql实例中的每一个trigger 对应到information_schema.triggers 中有一行 1.information_schema.triggers 表的常用列: 1.trigger_catalog :永远是def 2.trigger_schema :trigger 所在的数据库名 3.event_manipulation :触发trigger 的事件类型可以是 insert | update | delete 4.event_object_schema  :trigger

information_schema.partitions 学习

1.partitions 表中的常用列说明: 1.table_schema:表所在的数据库名 2.table_name:表名 3.partition_method:表分区采用的分区方法 4.partition_expression:分区键 5.partions_name:分区名 6.table_rows:分区中所包涵的数据行数 7.data_free:分区中还未使用的空间 2.例子: 查询实例中的分区表.分区方法,分区字段 select concat(table_schema,'.',table

information_schema.profiling学习

information_schema.profiling可以用来分析每一条SQL在它执行的各个阶段的用时,注意这个表是session 级的,也就是说如果session1 开启了它:session2没有开启 这个情况下session2 去查询只会返回一个空表 1.set @@ssesion.profiling=1 可以开启information_schema.profiling相关监测 2.information_schema.profiling 表的常用列 1.query_id :查询id 用于

information_schema.optimizer_trace学习

information_schema.optimizer_trace 用于追踪优化器的优化过程:通常来说这张表中是没有数据的,要想开户追踪要把 @@session.optimizer_trace='enabled=on,one_line=on' information_schema.optimizer_trace表的常用列: 1.query :查询语句 2.trace :查询的追踪信息 例子: 1.没有打开@@session.optmizer_trace='enabled=on,one_line

information_schema.character_sets 学习

information_schema.character_sets 表用于查看字符集的详细信息 1.character_sets 常用列说明: 1.character_set_name: 字符集名 2.default_collate_name:  默认排序规则 3.description:  描述信息 4.maxlen:  单个字符最大占用字节数 2.例子: 查看与字符集相关的信息 select character_set_name,-- 字符集名 default_collate_name, -