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

相关推荐
天骄t10 分钟前
HTML入门:从基础结构到表单实战
linux·数据库
qq_3988989312 分钟前
【备忘】ASP.Net MVC无缝对接SQL Server数据库设置步骤
数据库·asp.net·mvc
努力学编程呀(๑•ี_เ•ี๑)16 分钟前
宝塔上的数据库用Navicat如何连接
数据库
l1t24 分钟前
AI关于MySQL 能否存储数组的回答
数据库·mysql
菩提小狗39 分钟前
小迪安全_第4天:基础入门-30余种加密编码进制&Web&数据库&系统&代码&参数值|小迪安全笔记|网络安全|
前端·网络·数据库·笔记·安全·web安全
Albert Edison1 小时前
【MySQL】使用C/C++语言连接数据库
c语言·数据库·mysql
高一要励志成为佬1 小时前
【数据库】第二章 关系数据库 各种概念
数据库
youshang520i1 小时前
Gbase 8s 不能参考一个未设日志的外在数据库
数据库
宇宙的尽头是PYTHON1 小时前
开窗函数简单的排序row_number() rank() densite()
数据库
心止水j1 小时前
hbase 电商2
数据库·windows·hbase