MySQL 查看数据库中有主外键关系的表信息
来源:互联网 发布:社区网络延迟怎么解决 编辑:程序博客网 时间:2024/06/06 00:38
转载自:http://blog.itpub.net/28602568/viewspace-1711771/
SQL:
SELECT C.TABLE_SCHEMA 拥有者,
C.REFERENCED_TABLE_NAME 父表名称 ,
C.REFERENCED_COLUMN_NAME 父表字段 ,
C.TABLE_NAME 子表名称,
C.COLUMN_NAME 子表字段,
C.CONSTRAINT_NAME 约束名,
T.TABLE_COMMENT 表注释,
R.UPDATE_RULE 约束更新规则,
R.DELETE_RULE 约束删除规则
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE C
JOIN INFORMATION_SCHEMA. TABLES T
ON T.TABLE_NAME = C.TABLE_NAME
JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS R
ON R.TABLE_NAME = C.TABLE_NAME
AND R.CONSTRAINT_NAME = C.CONSTRAINT_NAME
AND R.REFERENCED_TABLE_NAME = C.REFERENCED_TABLE_NAME
WHERE C.REFERENCED_TABLE_NAME IS NOT NULL ;
UPDATE/DELETE_RULE 类型:
1. CASCADE: 从父表中删除或更新对应的行 ,同时自动的删除或更新自表中匹配的行 。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持 。
2. SET NULL: 从父表中删除或更新对应的行 ,同时将子表中的外键列设为空 。注意, 这些在外键列没有被设为NOT NULL时才有效。 ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持 。
3. NO ACTION: InnoDB拒绝删除或者更新父表 。
4. RESTRICT: 拒绝删除或者更新父表 。指定RESTRICT( 或者NO ACTION )和忽略ON DELETE或者ON UPDATE选项的效果是一样的 。
5. SET DEFAULT: InnoDB目前不支持 。
表信息参考列表:
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
0 0
- MySQL 查看数据库中有主外键关系的表信息 2
- MySQL 查看数据库中有主外键关系的表信息
- MySQL 查看数据库中有主外键关系的表信息 2
- mysql查看数据库和表的信息
- 查看MySQL数据库的死锁信息
- mysql 查看数据库信息、表大小
- mysql 查看数据库表、字段信息
- 查看MySQL数据库状态信息
- MySQL查看数据库相关信息
- 终端查看mysql数据库信息,
- Linux上查看mysql数据库启动信息的命令
- MySQL 查看数据库相关信息的SQL脚本
- MySQL,查看数据库的信息,大小,最后修改时间等
- mysql数据库命令查看数据库信息。
- mysql 查看表信息
- mysql 查看表信息
- mongodb查看数据库和表的信息
- mongodb查看数据库和表的信息
- Android NDK学习笔记8-JNI的访问域
- Android studio代码提示设置
- Maven仓库搭建(一):一台HTTP服务器即可(Tomcat、Apache或Nginx)
- 英文文字游戏(二)
- Oracle between
- MySQL 查看数据库中有主外键关系的表信息
- Real time system
- 编写线程安全的Java代码
- Retrofit中如何正确的使用https?
- SQL Server 2008 标准版安装失败:操作系统不匹配
- Pentium的相关知识
- Linux下安装Memcache以及安装过程中一些问题的解决方法
- 移动端开发所需要的一些资源与小技巧
- bug