您的位置:首页 > 数据库 > MySQL

MySQL 查看数据库中有主外键关系的表信息 2

2016-08-04 10:23 585 查看
转载自:http://blog.itpub.net/28602568/viewspace-1711771/

SQL:

[align=left]     SELECT C.TABLE_SCHEMA            拥有者,[/align]
[align=left]           C.REFERENCED_TABLE_NAME  父表名称 ,[/align]
[align=left]           C.REFERENCED_COLUMN_NAME 父表字段 ,[/align]
[align=left]           C.TABLE_NAME             子表名称,[/align]
[align=left]           C.COLUMN_NAME            子表字段,[/align]
[align=left]           C.CONSTRAINT_NAME        约束名,[/align]
[align=left]           T.TABLE_COMMENT          表注释,[/align]
[align=left]           R.UPDATE_RULE            约束更新规则,[/align]
[align=left]           R.DELETE_RULE            约束删除规则[/align]
[align=left]      FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE C[/align]
[align=left]      JOIN INFORMATION_SCHEMA. TABLES T[/align]
[align=left]        ON T.TABLE_NAME = C.TABLE_NAME[/align]
[align=left]      JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS R[/align]
[align=left]        ON R.TABLE_NAME = C.TABLE_NAME[/align]
[align=left]       AND R.CONSTRAINT_NAME = C.CONSTRAINT_NAME[/align]
[align=left]       AND R.REFERENCED_TABLE_NAME = C.REFERENCED_TABLE_NAME[/align]
[align=left]      WHERE C.REFERENCED_TABLE_NAME IS NOT NULL ;     

[/align]

[align=left]UPDATE/DELETE_RULE 类型:[/align]
[align=left] 1. CASCADE: 从父表中删除或更新对应的行 ,同时自动的删除或更新自表中匹配的行 。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持 。[/align]
[align=left] 2. SET NULL: 从父表中删除或更新对应的行 ,同时将子表中的外键列设为空 。注意, 这些在外键列没有被设为NOT NULL时才有效。 ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持 。[/align]
[align=left]  3. NO ACTION: InnoDB拒绝删除或者更新父表 。[/align]
[align=left]  4. RESTRICT: 拒绝删除或者更新父表 。指定RESTRICT( 或者NO ACTION )和忽略ON DELETE或者ON UPDATE选项的效果是一样的 。[/align]
[align=left] 5. SET DEFAULT: InnoDB目前不支持 。
[/align]

表信息参考列表:

REFERENTIAL_CONSTRAINTS表注释参考:http://www.php100.com/manual/PostgreSQL8/infoschema-referential-constraints.html#AEN29463  

KEY_COLUMN_USAGE表注释参考:http://www.php100.com/manual/PostgreSQL8/infoschema-key-column-usage.html  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: