SQL查询数据库public架构下所有表格的主键/复合(组合)键的方法

1. 说明

我在进行数据入库的时候遇到了一个问题,由于表格很多,先前设置的表格主键不统一,有的表格是单一主键,有的表格是复合键,现要将表格中的复合键修改为单一的主键,如果逐一的去检查会很费劲,毕竟是数据库,这种主键查询的功能肯定是有的。废话不多说,现将主键查询的方法分享给大家,希望对大家有一些帮助!

2. 搭建环境说明

  • PostgreSQL 15.3, compiled by Visual C++ build 1914, 64-bit
  • Navicat Premium 16.2.5
  • pgAdmin4 V8.8

1.查询所有表格的所有主键(包括复合键)

-- 查询所有表格的所有主键
SELECT IStc.constraint_name AS 约束名称
      ,IStc.constraint_type AS 约束类型
      ,ISkcu.column_name AS 字段
  FROM information_schema.table_constraints AS IStc
  JOIN information_schema.key_column_usage  AS ISkcu
    ON IStc.constraint_name = ISkcu.constraint_name
 WHERE IStc.constraint_type = 'PRIMARY KEY';

2.查询指定表格的所有主键(包括复合键)

-- 查询指定表的主键详情
SELECT IStc.constraint_name AS 约束名称
      ,IStc.constraint_type AS 约束类型
      ,ISkcu.column_name AS 字段
  FROM information_schema.table_constraints AS IStc
  JOIN information_schema.key_column_usage  AS ISkcu 
    ON IStc.constraint_name 
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

激动的兔子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值