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

相关推荐
知识分享小能手几秒前
Oracle 19c入门学习教程,从入门到精通,Oracle优化SQL语句 — 语法知识点与使用方法详解(16)
sql·学习·oracle
砚边数影10 分钟前
决策树原理(一):信息增益与特征选择 —— Java 实现 ID3 算法
java·数据库·决策树·机器学习·kingbase·数据库平替用金仓·金仓数据库
2401_8324027511 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
仍然.12 分钟前
MySQL--库的操作、数据类型、表的操作
数据库·mysql
让我上个超影吧14 分钟前
天机学堂——BitMap实现签到
java·数据库·spring boot·redis·spring cloud
宇神城主_蒋浩宇31 分钟前
最简单的es理解 数据库视角看写 ES 加 java正删改查深度分页
大数据·数据库·elasticsearch
2301_817497331 小时前
自然语言处理(NLP)入门:使用NLTK和Spacy
jvm·数据库·python
TimberWill1 小时前
常用sql【pgsql】——建表相关
数据库·sql
herinspace1 小时前
管家婆分销软件中如何进行现金流量分配
运维·服务器·数据库·学习·电脑
麦聪聊数据1 小时前
LiveOps事故零容忍:游戏行业数据库的细粒度权限管控与审计实践
运维·数据库·后端·sql