Oracle 表结构、索引以及分区信息查询

  1. /* 获取表:*/
  2. select table_name from user_tables; --当前用户的表
  3. select table_name from all_tables; --所有用户的表
  4. select table_name from dba_tables; --包括系统表
  5. --表字段信息
  6. select * from all_tab_columns a where a.TABLE_NAME='T_X27_USER';
  7. --表注释信息
  8. select * from user_tab_comments a where a.table_name='T_X27_USER';
  9. --表字段注释信息
  10. select * from user_col_comments a where a.table_name='T_X27_USER';
  11. --表分区信息
  12. --1,分区表信息
  13. -- 1)显示数据库所有分区表的信息
  14. select * from DBA_PART_TABLES a where a.owner=upper('') and a.table_name=upper('');
  15. -- 2)显示当前用户可访问的所有分区表信息
  16. select * from ALL_PART_TABLES a where a.owner=upper('') and a.table_name=upper('');
  17. -- 3)显示当前用户所有分区表的信息
  18. select * from USER_PART_TABLES a where a.table_name=upper('');
  19. --2,分区表的分区列信息
  20. -- 1)显示当前用户所有分区表的分区列信息
  21. select * from USER_PART_KEY_COLUMNS a where a.name=upper('') and a.object_type='TABLE';
  22. -- 2)显示当前用户可访问的所有分区表的分区列信息
  23. select * from ALL_PART_KEY_COLUMNS a where a.owner=upper('etl') and a.name=upper('') and a.object_type='TABLE';
  24. --(3)显示分区列 显示数据库所有分区表的分区列信息
  25. select * from DBA_PART_KEY_COLUMNS a where a.owner=upper('etl') and a.name=upper('') and a.object_type='TABLE';
  26. -- 3,分区表的名字、归属表空间以及表的详细分区情况
  27. select * from user_tab_partitions a where a.table_name=upper('');
  28. -- 4,查看组合表的子分区信息以及子分区列信息情况
  29. -- 1)显示当前用户所有组合分区表的子分区信息
  30. select * from USER_TAB_SUBPARTITIONS;
  31. -- 2)显示当前用户可访问的所有组合分区表的子分区信息
  32. select * from ALL_TAB_SUBPARTITIONS;
  33. -- 3)显示当前用户可访问的所有组合分区表的子分区信息
  34. select * from ALL_TAB_SUBPARTITIONS ;
  35. -- 4)显示当前用户所有分区表的子分区列信息
  36. select * from USER_SUBPART_KEY_COLUMNS;
  37. -- 5)显示当前用户可访问的所有分区表的子分区列信息
  38. select * from ALL_SUBPART_KEY_COLUMNS;
  39. -- 6)显示子分区列 显示数据库所有分区表的子分区列信息
  40. select * from DBA_SUBPART_KEY_COLUMNS;
  41. --表包含的索引
  42. select * from user_indexes where table_name=upper('T_X27_USER');
  43. --索引的具体信息:根据索引名查看索引包含的字段
  44. select * from user_ind_columns where index_name = 'UK_T_X27_USER_USERID';
  45. --表的唯一约束条件
  46. select * from user_constraints where constraint_type='U' and owner='ETL' and table_name='T_X27_USER';
  47. --表外键
  48. select * from user_constraints where constraint_type='R' and owner='ETL' and table_name='T_X27_USER';
  49. --表外键以及约束条件字段组成信息
  50. select * from user_cons_columns where owner='ETL' and table_name='T_X27_USER';

示例(oracle查看表结构信息):

  1. select a.owner 所属用户,
  2. a.table_name 表名,
  3. a.column_name 字段名,
  4. a.data_type 字段类型,
  5. a.字段长度,
  6. a.字段精度,
  7. a.是否为空,
  8. a.创建日期,
  9. a.最后修改日期,
  10. case when a.owner=d.owner and a.table_name=d.table_name and a.column_name=d.column_name then '主键' else '' end 是否主键
  11. from
  12. (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 字段精度,
  13. decode(nullable,'Y','√','N','×') 是否为空,c.created 创建日期,c.last_ddl_time 最后修改日期
  14. from all_tables a,all_tab_columns b,all_objects c
  15. where a.table_name=b.table_name and a.owner=b.owner
  16. and a.owner=c.owner
  17. and a.table_name=c.object_name
  18. and a.owner='SCOTT' --这个是查某个用户,你到时候把用户名换一下就好,一定大写
  19. and c.object_type='TABLE') a
  20. left join
  21. (select a.owner,a.table_name,a.column_name,a.constraint_name from user_cons_columns a, user_constraints b
  22. where a.constraint_name = b.constraint_name and b.constraint_type = 'P') d
  23. on a.owner=d.owner and a.table_name=d.table_name and a.column_name=d.column_name
  24. order by a.owner,a.table_name;

Oracle 表结构、索引以及分区信息查询的更多相关文章

  1. ORACLE表、索引和分区详解

    ORACLE表.索引和分区 一.数据库表 每种类型的表都有不同的特性,分别应用与不同的领域 堆组织表 聚簇表(共三种) 索引组织表 嵌套表 临时表 外部表和对象表 1.行迁移 建表过程中可以指定以下两 ...

  2. oracle表结构和表内容差异比对

    oracle表结构和表内容差异比对 oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作. union 并集 intersect 交集 minus 差集 假设有如下两张表 ...

  3. Sybase数据库收集表及其索引的统计信息

    更新表及其索引的统计信息: update table statistics 表名 go update index statistics 表名 go 建议此操作在闲时操作.

  4. Oracle表与索引的分析及索引重建

    1.分析表与索引(analyze 不会重建索引)   analyze table tablename compute statistics 等同于 analyze table tablename co ...

  5. oracle表结构和表内容差异比对【原】

    oracle表结构和表内容差异比对 oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作. union 并集 intersect 交集 minus 差集 假设有如下两张表 ...

  6. Oracle同义词、索引、分区

    同义词:是现有对象的一个别名 简化SQL语句 隐藏对象的名称和所有者 提供对对象的公共访问 同义词共有两种类型 私有同义词只能在其模式内访问,且不能与当前模式的对象同名 公有同义词可被所有的数据库用户 ...

  7. mysql数据库性能优化(包括SQL,表结构,索引,缓存)

    优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...

  8. oracle表结构

    表管理 新建表 语法 create table 表名 ( 列名1 类型(长度), 列名2 类型(长度), 列名3 类型(长度) ); create table:关键字,建表 后跟新建表的表名,表名长度 ...

  9. SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间

    ---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...

随机推荐

  1. Kubernetes-Istio之Sidecar自动注入

    前提: (官方提供) 1):确认使用的是Kubernetes服务器的受支持版本( 1.13.1.14.1.15):kubectl (官方提供,应该是1.13版本以上,我的是1.16版本) kubect ...

  2. k8s安装之calico.yaml

    这个calico有点长,我也没有仔细看完. 但部署上去是可用的. 如果节点超过200台,那最好要另外一套配置... 而对于我们,差不多下面的配置够用了. veth_mtu: "1440&qu ...

  3. c# 定时关闭 MessageBox 或弹出的模态窗口

    我们都知道,MessageBox弹出的窗口是模式窗口,模式窗口会自动阻塞父线程的.所以如果有以下代码: MessageBox.Show("内容',"标题"); 则只有关闭 ...

  4. ldap系列-基础知识

    来源:关键字排名 ldap 是什么? LDAP(Lightweight Directory Access Protocol)即轻量级目录访问协议,提供信息服务.那啥是目录服务呢? 目录服务是一种特殊的 ...

  5. 项目读取数据,一直出现 Closing connections idle longer than 30 SECONDS,卡死现象

    项目读取数据,一直出现 Closing connections idle longer than 30 SECONDS,卡死现象. 我的是在读取oracle数据的时候出现这种错误. 可以参考这篇文章 ...

  6. 使用自签CA,Server,client证书和双向认证

    服务端代码 package main import ( "crypto/tls" "crypto/x509" "google.golang.org/g ...

  7. SIGAI机器学习第二十三集 高斯混合模型与EM算法

    讲授高斯混合模型的基本概念,训练算法面临的问题,EM算法的核心思想,算法的实现,实际应用. 大纲: 高斯混合模型简介实际例子训练算法面临的困难EM算法应用-视频背景建模总结 高斯混合模型简写GMM,期 ...

  8. Spring入门(四)——整合Mybatis

    1. 准备jar包及目录结构 2. 配置db.properties driver = com.mysql.jdbc.Driver url = jdbc:mysql://127.0.0.1:3306/H ...

  9. webuploader+web如何实现分片+断点续传

    众所皆知,web上传大文件,一直是一个痛.上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的. 本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路. 实现文件夹 ...

  10. bzoj 2969: 矩形粉刷 概率期望+快速幂

    还是老套路:期望图上的格子数=$\sum$ 每个格子被涂上的期望=$\sum$1-格子不被图上的概率 这样的话就相对好算了. 那么,对于 $(i,j)$ 来说,讨论一下上,下,左,右即可. 然后发现四 ...