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

目录

    • 1. 说明
    • 2. 搭建环境说明
      • 1.查询所有表格的所有主键(包括复合键)
      • 2.查询指定表格的所有主键(包括复合键)
      • 3.查询public架构下的所有表格的主键及复合(组合)键的情况
      • 4.查询public架构下的所有表格的复合(组合)键的情况
    • 3.小结

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 

你可能感兴趣的:(数据库管理,数据库,postgresql)