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

相关推荐
大白的编程日记.11 分钟前
【MySQL】表的操作和数据类型
android·数据库·mysql
不秃的开发媛27 分钟前
Java开发入门指南:IDE选择与数据库连接详解
java·数据库·ide
专注API从业者27 分钟前
Scrapy 集成 JD API:一种高效且合规的商品数据采集方案
大数据·数据库·scrapy
好多1734 分钟前
《Redis的缓存策略》
数据库·redis·缓存
小蒜学长3 小时前
基于uni-app的蛋糕订购小程序的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·小程序·uni-app
安然~~~3 小时前
mysql多表联查
android·数据库·mysql
乐世东方客3 小时前
使用my2sql进行mysql的binlog恢复数据
数据库·mysql
肃清13 小时前
《深入解析数据库事务的ACID特性》
数据库·mysql
在路上`8 小时前
前端学习之后端java小白(四)之数据库设计
sql·学习
Jayyih11 小时前
嵌入式系统学习Day35(sqlite3数据库)
数据库·学习·sqlite