主键列查询
其实有多种方法,如果只需要查单个表的主键可以通过可视化工具看表结构,但是如果涉及到查询多个表的主键还是使用sql比较简便
-- 选择需要的字段
SELECT
cols.table_name, -- 表名:显示包含该主键的表名。
cols.column_name, -- 列名:显示作为主键一部分的列名称。
cols.position, -- 位置:如果主键由多个列组成,表示各列在主键中的顺序。
cons.status, -- 状态:显示约束的状态(例如是否启用)。
cons.owner -- 拥有者:显示拥有该约束的数据库用户或架构名。
-- 指定数据来源,使用内连接
FROM
all_constraints cons, -- all_constraints 视图:包含数据库中所有约束的详细信息。
all_cons_columns cols -- all_cons_columns 视图:包含约束相关联的列的详细信息。
-- 设置查询条件
WHERE
cols.table_name = '你的表名' -- 指定表名:只查找特定表的约束信息。这里需要替换'你的表名'为实际表名。
AND cons.constraint_type = 'P' -- 约束类型:只查找类型为'P'的约束,即主键约束。
AND cons.constraint_name = cols.constraint_name -- 约束名称匹配:确保约束视图和列视图中的约束名相同。
AND cons.owner = cols.owner -- 拥有者匹配:确保两个视图中的拥有者相同。
-- 结果排序
ORDER BY
cols.table_name, -- 先按表名排序
cols.position; -- 再按列的位置排序,确保主键列的顺序正确。