法一
show create table table_name
法二
测试库中需要对一些数据表做清空数据操作时,因为表之间有外键约束,所以,想了解其约束关系,这时可以通过库information_schema的key_column_usage表来查看。
-
CONSTRAINT_CATALOG: 约束所属目录的名称,值始终为def
- CONSTRAINT_SCHAME: 约束所属schema(database)名称 - CONSTRAINT_NAME: 约束名称 - TABLE_CATALOG: 表所属目录的名称,值始终为def - TABLE_SCHEMA: 表所属schema(database)名称 - TABLE_NAME: 具有约束的表的名称 - ORDINAL_POSITION: 列在约束内的位置,而不是列在表中的位置,列位置从1开始 - POSITION_IN_UNIQUE_CONSTRAINT: NULL对于唯一和主键约束,对于外键约束,此列是正在引用的表的键中的序号位置
新建2个表
CREATE TABLE teacher(
teacher_id int(12) primary key,
teacher_name varchar(10)
)ENGINE= InnoDB DEFAULT CHARSET=UTF8;
CREATE TABLE crouse(
crouse_id int(8) primary key,
crouse_name varchar(20),
teacher_id int(12),
CONSTRAINT fk_crouse_sid FOREIGN KEY(teacher_id) REFERENCES teacher(teacher_id)
)ENGINE= InnoDB DEFAULT CHARSET=UTF8;
查看全部信息
select * from information_schema.key_column_usage;
如下 最上一栏为属性信息
现查询crouse表的信息
select * from information_schema.key_column_usage where TABLE_NAME='crouse';
如下