Oracle 表结构、索引以及分区信息查询详解数据库
2023-06-13 09:20:12 时间
select table_name from user_tables; --当前用户的表
select table_name from all_tables; --所有用户的表
select table_name from dba_tables; --包括系统表
--表字段信息
select * from all_tab_columns a where a.TABLE_NAME=T_X27_USER;
--表注释信息
select * from user_tab_comments a where a.table_name=T_X27_USER;
--表字段注释信息
select * from user_col_comments a where a.table_name=T_X27_USER;
--表分区信息
--1,分区表信息
-- (1)显示数据库所有分区表的信息
select * from DBA_PART_TABLES a where a.owner=upper() and a.table_name=upper();
-- (2)显示当前用户可访问的所有分区表信息
select * from ALL_PART_TABLES a where a.owner=upper() and a.table_name=upper();
-- (3)显示当前用户所有分区表的信息
select * from USER_PART_TABLES a where a.table_name=upper();
--2,分区表的分区列信息
-- (1)显示当前用户所有分区表的分区列信息
select * from USER_PART_KEY_COLUMNS a where a.name=upper() and a.object_type=TABLE;
-- (2)显示当前用户可访问的所有分区表的分区列信息
select * from ALL_PART_KEY_COLUMNS a where a.owner=upper(etl) and a.name=upper() and a.object_type=TABLE;
--(3)显示分区列 显示数据库所有分区表的分区列信息
select * from DBA_PART_KEY_COLUMNS a where a.owner=upper(etl) and a.name=upper() and a.object_type=TABLE;
-- 3,分区表的名字、归属表空间以及表的详细分区情况
select * from user_tab_partitions a where a.table_name=upper();
-- 4,查看组合表的子分区信息以及子分区列信息情况
-- (1)显示当前用户所有组合分区表的子分区信息
select * from USER_TAB_SUBPARTITIONS;
-- (2)显示当前用户可访问的所有组合分区表的子分区信息
select * from ALL_TAB_SUBPARTITIONS;
-- (3)显示当前用户可访问的所有组合分区表的子分区信息
select * from ALL_TAB_SUBPARTITIONS ;
-- (4)显示当前用户所有分区表的子分区列信息
select * from USER_SUBPART_KEY_COLUMNS;
-- (5)显示当前用户可访问的所有分区表的子分区列信息
select * from ALL_SUBPART_KEY_COLUMNS;
-- (6)显示子分区列 显示数据库所有分区表的子分区列信息
select * from DBA_SUBPART_KEY_COLUMNS;
--表包含的索引
select * from user_indexes where table_name=upper(T_X27_USER);
--索引的具体信息:根据索引名查看索引包含的字段
select * from user_ind_columns where index_name = UK_T_X27_USER_USERID;
--表的唯一约束条件
select * from user_constraints where constraint_type=U and owner=ETL and table_name=T_X27_USER;
--表外键
select * from user_constraints where constraint_type=R and owner=ETL and table_name=T_X27_USER;
--表外键以及约束条件字段组成信息
select * from user_cons_columns where owner=ETL and table_name=T_X27_USER;
示例(oracle查看表结构信息):
select a.owner 所属用户, a.table_name 表名, a.column_name 字段名, a.data_type 字段类型, a.字段长度, a.字段精度, a.是否为空, a.创建日期, a.最后修改日期, case when a.owner=d.owner and a.table_name=d.table_name and a.column_name=d.column_name then 主键 else end 是否主键 from (select a.owner,a.table_name,b.column_name,b.data_type,case when b.data_precision is null then b.data_length else data_precision end 字段长度,data_scale 字段精度, decode(nullable,Y,√,N,×) 是否为空,c.created 创建日期,c.last_ddl_time 最后修改日期 from all_tables a,all_tab_columns b,all_objects c where a.table_name=b.table_name and a.owner=b.owner and a.owner=c.owner and a.table_name=c.object_name and a.owner=SCOTT --这个是查某个用户,你到时候把用户名换一下就好,一定大写 and c.object_type=TABLE) a left join (select a.owner,a.table_name,a.column_name,a.constraint_name from user_cons_columns a, user_constraints b where a.constraint_name = b.constraint_name and b.constraint_type = P) d on a.owner=d.owner and a.table_name=d.table_name and a.column_name=d.column_name order by a.owner,a.table_name;
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4984.html
oracle相关文章
- ORA-00437: ORACLE feature is not licensed. Contact Oracle Corp. for assistance ORACLE 报错 故障修复 远程处理
- _aggregate_target查看Oracle数据库中PGA_Aggregate_Target的简易方法(oracle查看pga)
- 数据库借助丁炎,发挥Oracle数据库最高价值(丁炎oracle)
- 利用 Oracle 触发器提升数据库性能(oracle触发器类型)
- 发现Oracle数据库的优势,提升企业数据管理效率(oracle数据库的好处)
- Oracle 数据库如何进行打印输出?(oracle打印输出)
- Oracle数据类型长度研究(oracle数据长度)
- Oracle数据库如何导出视图结构(oracle导出视图结构)
- 管理利用Oracle实现智能度量管理(oracle度量)
- 限制之谜:探寻Oracle索引的奥秘(oracle索引限制)
- 深入探索Oracle实例与数据库的结合运用(oracle实例与数据库)
- Oracle数据库报错00903不符合语法性规范(oracle-00903)
- Oracle全局索引受损解决之道(oracle全局索引失效)
- 高效使用C语言查询Oracle数据库(c 高效查询oracle)
- C语言调用Oracle程序包的实践经验(c 调用oracle的包)
- SQLOracle正在加载SQL为存取数据而努力(oracle为什么要加载)
- Oracle中长度限制如何管理(oracle中限制长度吗)
- 解决Oracle数据库乱码问题的技巧(oracle乱码技巧)
- Oracle 警惕使用过期版本(oracle使用过期)
- 用Oracle代码生成工具轻松实现开发梦想(oracle代码生成工具)
- 缔造优质专业服务Oracle中国中心升级迭代亮相(oracle中国中心)
- 符Oracle数据库中的三元运算符实践(oracle中三目运算)
- Oracle数据库连接URL设置指南(oracle url设置)
- 探索Oracle数据库技术的03214版本(oracle 03214)