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等)都提供了图形化的界面来查看这些信息。

相关推荐
喝杯牛奶丶1 小时前
MySQL隔离级别:大厂为何偏爱RC?
java·数据库·mysql·面试
一 乐1 小时前
二手车销售|汽车销售|基于SprinBoot+vue的二手车交易系统(源码+数据库+文档)
java·前端·数据库·vue.js·后端·汽车
Databend1 小时前
BendSQL v0.30.3 Web UI 功能介绍
数据库
gAlAxy...1 小时前
Spring 从 0 → 1 保姆级笔记:IOC、DI、多配置、Bean 生命周期一次讲透
数据库·sqlserver
苦学编程的谢2 小时前
Redis_5_单线程模型
数据库·redis·缓存
xuejianxinokok2 小时前
可能被忽略的 pgvector 各种坑
数据库·后端
拾忆,想起2 小时前
TCP粘包拆包全解析:数据流中的“藕断丝连”与“一刀两断”
java·网络·数据库·网络协议·tcp/ip·哈希算法
serve the people2 小时前
Formatting Outputs for ChatPrompt Templates(two)
前端·数据库
岁岁岁平安3 小时前
python MongoDB 基础
数据库·python·mongodb
NO.10243 小时前
11.4八股
java·linux·数据库