Sql 查询一张表中哪些字段做了外键跟哪些表关联了

要查询一张表中哪些字段做了外键以及它们与哪些表关联了,你可以使用SQL的系统表或信息模式(Information Schema)来查询。

以下是一个通用的方法,适用于大多数关系型数据库(如MySQL, PostgreSQL, SQL Server等):

复制代码
复制代码
`SELECT
fk.table_name AS 'Child Table',
fk.column_name AS 'Foreign Key Column',
ref.table_name AS 'Parent Table',
ref.column_name AS 'Referenced Column'
FROM
information_schema.key_column_usage AS fk
JOIN
information_schema.key_column_usage AS ref
ON
fk.constraint_name = ref.constraint_name
WHERE
fk.table_schema = 'your_database_name' -- 替换为你的数据库名
AND fk.table_name = 'your_table_name'; -- 替换为你想要查询的表名`

这个查询会返回你指定的表中所有外键字段及其对应的父表和父表中的引用字段。

请注意,不同的数据库可能会有细微的语法差异或额外的系统表/视图来提供此类信息。所以,如果上述查询在你的数据库上不工作,你可能需要查阅该数据库的官方文档来找到正确的方法。

另外,如果你只是想快速查看表的结构和关系,许多数据库管理工具(如MySQL Workbench, pgAdmin, SQL Server Management Studio等)都提供了图形化的界面来查看这些信息。

相关推荐
q***783711 小时前
mysql表添加索引
数据库·mysql
翔云12345611 小时前
MySQL 机器重启后,gtid_executed 是如何初始化的
数据库·mysql·adb
JAVA学习通11 小时前
Mysql进阶---存储过程&变量&SQL编程
数据库·mysql
阿里云大数据AI技术11 小时前
朝阳永续基于阿里云 Milvus 构建金融智能投研产品“AI 小二”
数据库·人工智能
百***490012 小时前
Redis-配置文件
数据库·redis·oracle
老纪的技术唠嗑局12 小时前
OceanBase 年度发布会 Hands-on AI Workshop 回顾
数据库
艾体宝IT12 小时前
艾体宝干货 | Redis Python 开发系列#5 高可用与集群部署指南
数据库
3***891912 小时前
开放自己本机的mysql允许别人连接
数据库·mysql·adb
X***C86212 小时前
使用bitnamiredis-sentinel部署Redis 哨兵模式
数据库·redis·sentinel