oracle查询所有表和表结构信息sql

 /**  --------- oracle查询所有表和表结构信息sql ----------------  **/


SELECTdistinct T.database_name  "表空间",
       T.table_name AS "表名",
       T.column_name AS "字段名",
       T .column_type AS "数据类型",
       T .data_length AS "数据长度",
       T  .column_comment AS "字段注释",
       b.constraint_type AS  "约束定义类型"

  FROM (SELECT UB.tablespace_name AS database_name,
               UTC.table_name     AS table_name,
               UTC.column_name    AS column_name,
               UTC.data_type      AS column_type,
               utc.data_length    AS data_length,
               ucc.comments       AS column_comment
          FROM user_tables ub
          LEFTJOIN user_tab_columns utc
            ON ub.table_name = UTC.table_name
          LEFTJOIN user_col_comments ucc
            ON utc.column_name = ucc.column_name
           AND utc.table_name = ucc.table_name) T
  LEFTJOIN (SELECT UCC.table_name AS table_name,
                    ucc.column_name AS column_name,
                    wm_concat(UC.constraint_type) AS constraint_type
               FROM user_cons_columns ucc
               LEFTJOIN user_constraints uc
                 ON UCC.constraint_name = UC.constraint_name
              GROUPBY UCC.table_name, ucc.column_name) b
    ON T.table_name = b.TABLE_NAME
   AND T.column_name = b.column_name
   where  t.table_name =UPPER('bs_xmk_yj');


SELECTdistinct   a.table_name "资源表名",
a.column_name  "字段名称" ,

 decode(b.uniqueness,'UNIQUE','是','否') "是否可以为空" ,
decode(substr(a.INDEX_NAME,0,2),'PK','是','   ') "是否主键",
decode(substr(a.INDEX_NAME,0,2),'PK','   ','是') "是否索引"

  FROM all_ind_columns a, all_indexes b
 WHERE a.index_name = b.index_name
   AND a.table_name = upper('zb_bal');





---Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名
---查询所有表名:
select t.table_name from user_tables t;
---查询所有字段名:
select t.column_name from user_col_comments t;
---查询指定表的所有字段名:
select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
---查询指定表的所有字段名和字段说明:
select t.column_name, t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
---查询所有表的表名和表说明:
select t.table_name,f.comments from user_tables t innerjoin user_tab_comments f on t.table_name = f.table_name;
---查询模糊表名的表名和表说明:

select t.table_name from user_tables t where t.table_name like 'BIZ_DICT%';
select t.table_name,f.comments from user_tables t innerjoin user_tab_comments f on t.table_name = f.table_name where t.table_name like 'BIZ_DICT%';
--查询表的数据条数、表名、中文表名

select a.num_rows, a.TABLE_NAME, b.COMMENTS
from user_tables a, user_tab_comments b
WHERE a.TABLE_NAME = b.TABLE_NAME
orderby TABLE_NAME;
select * from all_tab_comments -- 查询所有用户的表,视图等。

select * from user_tab_comments -- 查询本用户的表,视图等。

select * from all_col_comments --查询所有用户的表的列名和注释。

select * from user_col_comments -- 查询本用户的表的列名和注释。

select * from all_tab_columns --查询所有用户的表的列名等信息。

select * from [user]_tab_columns --查询本用户的表的列名等信息。

---查询所有表名:
select t.table_name from user_tables t;
---查询所有字段名:
select t.column_name from user_col_comments t;
---查询指定表的所有字段名:
select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
---查询指定表的所有字段名和字段说明:
select t.column_name, t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
---查询所有表的表名和表说明:
select t.table_name,f.comments from user_tables t innerjoin user_tab_comments f on t.table_name = f.table_name;
---查询模糊表名的表名和表说明:

select t.table_name from user_tables t where t.table_name like 'BIZ_DICT%';
select t.table_name,f.comments from user_tables t innerjoin user_tab_comments f on t.table_name = f.table_name where t.table_name like 'BIZ_DICT%';
--查询表的数据条数、表名、中文表名

select a.num_rows, a.TABLE_NAME, b.COMMENTS
from user_tables a, user_tab_comments b
WHERE a.TABLE_NAME = b.TABLE_NAME
orderby TABLE_NAME;
select * from all_tab_comments -- 查询所有用户的表,视图等。

select * from user_tab_comments -- 查询本用户的表,视图等。

select * from all_col_comments --查询所有用户的表的列名和注释。

select * from user_col_comments -- 查询本用户的表的列名和注释。

select * from all_tab_columns --查询所有用户的表的列名等信息。

select * from [user]_tab_columns --查询本用户的表的列名等信息

-------------------------user_tables-----------------------------------------------------------------
comment ontable user_tables is '用户的表段信息';
comment oncolumn user_tables.table_name   is ' 表名';
comment oncolumn user_tables.tablespace_name   is ' 表空间名';
comment oncolumn user_tables.cluster_name   is ' 群集名称';
comment oncolumn user_tables.iot_name   is ' IOT(Index Organized Table)索引组织表的名称';
comment oncolumn user_tables.status   is ' 状态';
comment oncolumn user_tables.pct_free   is ' 为一个块保留的空间百分比';
comment oncolumn user_tables.pct_used   is ' 一个块的使用水位的百分比';
comment oncolumn user_tables.ini_trans   is ' 初始交易的数量';
comment oncolumn user_tables.max_trans   is ' 交易的最大数量';
comment oncolumn user_tables.initial_extent   is ' 初始扩展数';
comment oncolumn user_tables.next_extent   is ' 下一次扩展数';
comment oncolumn user_tables.min_extents   is ' 最小扩展数';
comment oncolumn user_tables.max_extents   is ' 最大扩展数';
comment oncolumn user_tables.pct_increase   is ' 表在做了第一次extent后,下次再扩展时的增量,它是一个百分比值';
comment oncolumn user_tables.freelists   is ' 可用列表是e799bee5baa6e79fa5e98193e59b9ee7ad9431333365643533表中的一组可插入数据的可用块';
comment oncolumn user_tables.freelist_groups   is ' 列表所属组';
comment oncolumn user_tables.logging   is ' 是否记录日志';
comment oncolumn user_tables.backed_up   is ' 指示自上次修改表是否已备份(Y)或否(N)的';
comment oncolumn user_tables.num_rows   is ' 表中的行数';
comment oncolumn user_tables.blocks   is ' 所使用的数据块数量';
comment oncolumn user_tables.empty_blocks   is ' 空数据块的数量';
comment oncolumn user_tables.avg_space   is ' 自由空间的平均量';
comment oncolumn user_tables.chain_cnt   is ' 从一个数据块,或迁移到一个新块链接表中的行数';
comment oncolumn user_tables.avg_row_len   is ' 行表中的平均长度';
comment oncolumn user_tables.avg_space_freelist_blocks   is ' 一个freelist上的所有块的平均可用空间';
comment oncolumn user_tables.num_freelist_blocks   is ' 空闲列表上的块数量';
comment oncolumn user_tables.degree   is ' 每个实例的线程数量扫描表';
comment oncolumn user_tables.instances   is ' 跨表进行扫描的实例数量';
comment oncolumn user_tables.cache   is ' 是否是要在缓冲区高速缓存';
comment oncolumn user_tables.table_lock   is ' 是否启用表锁';
comment oncolumn user_tables.sample_size   is ' 分析这个表所使用的样本大小';
comment oncolumn user_tables.last_analyzed   is ' 最近分析的日期';
comment oncolumn user_tables.partitioned   is ' 表是否已分区';
comment oncolumn user_tables.iot_type   is ' 表是否是索引组织表';
comment oncolumn user_tables.temporaryis ' 表是否是暂时的';
comment oncolumn user_tables.secondary   is ' 表是否是次要的对象';
comment oncolumn user_tables.nested   is ' 是否是一个嵌套表';
comment oncolumn user_tables.buffer_pool   is ' 缓冲池的表';
comment oncolumn user_tables.flash_cache   is ' 智能闪存缓存提示可用于表块';
comment oncolumn user_tables.cell_flash_cache   is ' 细胞闪存缓存提示可用于表块';
comment oncolumn user_tables.row_movement   is ' 是否启用分区行运动';
comment oncolumn user_tables.global_stats   is ' 作为一个整体(全球统计)表的统计的是否准确';
comment oncolumn user_tables.user_stats   is ' 是否有统计';
comment oncolumn user_tables.duration   is ' 临时表的时间';
comment oncolumn user_tables.skip_corrupt   is ' 是否忽略损坏的块标记在表和索引扫描(ENABLED)状态的或将引发一个错误(已禁用)。';
comment oncolumn user_tables.monitoring   is ' 是否有监测属性集';
comment oncolumn user_tables.cluster_owner   is ' 群集的所有者';
comment oncolumn user_tables.dependencies   is ' 行依赖性跟踪是否已启用';
comment oncolumn user_tables.compression   is ' 是否启用表压缩';
comment oncolumn user_tables.compress_for   is ' 什么样的操作的默认压缩';
comment oncolumn user_tables.dropped   is ' 是否已经删除并在回收站';
comment oncolumn user_tables.read_only   is ' 表是否是只读';
comment oncolumn user_tables.segment_created   is ' 是否创建表段';
comment oncolumn user_tables.result_cache   is ' 结果缓存表的模式注释 ';



-------------------------user_tables-----------------------------------------------------------------



comment ontable USER_TAB_COLUMNS is '用户的表列信息';

comment oncolumn user_tab_columns.TABLE_NAME                        is ' 表、视图或集群名称 ';
comment oncolumn user_tab_columns.COLUMN_NAME                       is ' 列名 ';
comment oncolumn user_tab_columns.DATA_TYPE                         is ' 列的数据类型 ';
comment oncolumn user_tab_columns.DATA_TYPE_MOD                     is ' 柱的数据类型修改器 ';
comment oncolumn user_tab_columns.DATA_TYPE_OWNER                   is ' 列的数据类型的所有者 ';
comment oncolumn user_tab_columns.DATA_LENGTH                       is ' 以字节为单位的列的长度 ';
comment oncolumn user_tab_columns.DATA_PRECISION                    is ' 长度:十进制(数字)或二进制数字(浮动) ';
comment oncolumn user_tab_columns.DATA_SCALE                        is ' 在一个数字中数点右的小数 ';
comment oncolumn user_tab_columns.NULLABLE                          is ' 列是否允许NULL值? ';
comment oncolumn user_tab_columns.COLUMN_ID                         is ' 创建的列的序列号 ';
comment oncolumn user_tab_columns.DEFAULT_LENGTH                    is ' 该列的默认值的长度 ';
comment oncolumn user_tab_columns.DATA_DEFAULT                      is ' 列的默认值 ';
comment oncolumn user_tab_columns.NUM_DISTINCT                      is ' 列中不同值的个数 ';
comment oncolumn user_tab_columns.LOW_VALUE                         is ' 列中的低值 ';
comment oncolumn user_tab_columns.HIGH_VALUE                        is ' 列中的高值 ';
comment oncolumn user_tab_columns.DENSITY                           is ' 柱的密度 ';
comment oncolumn user_tab_columns.NUM_NULLS                         is ' 列中的空数 ';
comment oncolumn user_tab_columns.NUM_BUCKETS                       is ' 柱状柱中的桶数 ';
comment oncolumn user_tab_columns.LAST_ANALYZED                     is ' 最近一次这一专栏的日期被分析了 ';
comment oncolumn user_tab_columns.SAMPLE_SIZE                       is ' 用于分析这一列的样本大小 ';
comment oncolumn user_tab_columns.CHARACTER_SET_NAME                is ' 字符集名称 ';
comment oncolumn user_tab_columns.CHAR_COL_DECL_LENGTH              is ' 字符列的声明长度 ';
comment oncolumn user_tab_columns.GLOBAL_STATS                      is ' 统计数据是否在没有合并底层分区的情况下计算? ';
comment oncolumn user_tab_columns.USER_STATS                        is ' 统计数据直接由用户输入吗? ';
comment oncolumn user_tab_columns.AVG_COL_LEN                       is ' 以字节为单位的列的平均长度 ';
comment oncolumn user_tab_columns.CHAR_LENGTHis ' 字符中列的最大长度 ';
comment oncolumn user_tab_columns.CHAR_USED                         is ' C的最大长度是字符,B如果是字节 ';
comment oncolumn user_tab_columns.V80_FMT_IMAGE                     is ' 列数据是8.0图像格式吗? ';
comment oncolumn user_tab_columns.DATA_UPGRADED                     is ' 列数据是否已升级为最新类型版本格式? ';
comment oncolumn user_tab_columns.HISTOGRAM               is '   ';








-------------------------user_col_comments-----------------------------------------------------------------



comment ontable user_col_comments is '对用户表和视图列的评论';

comment oncolumn user_col_comments.TABLE_NAME    is ' 对象名称 ';          comment oncolumn user_col_comments.COLUMN_NAME     is ' 列名';        comment oncolumn user_col_comments.COMMENTS     is ' 对专栏发表评论';





-------------------------user_cons_columns-----------------------------------------------------------------


comment ontable user_cons_columns is '关于约束定义中可访问列的信息';
comment oncolumn user_cons_columns.OWNER          is '  所有者约束定义';                                                             comment oncolumn user_cons_columns.CONSTRAINT_NAMEis '      与约束定义关联的名称';
comment oncolumn user_cons_columns.TABLE_NAME      is '         与约束定义的表相关联的名称';
comment oncolumn user_cons_columns.COLUMN_NAME    is '  与约束定义中指定的列或对象列的属性相关联的名称';
comment oncolumn user_cons_columns.POSITIONis '       定义中列或属性的原始位置';




-------------------------user_constraints-----------------------------------------------------------------


comment ontable user_constraints is '约束定义在用户自己的表上';
comment oncolumn user_constraints.OWNER               is '      表的所有者';                                                 comment oncolumn user_constraints.CONSTRAINT_NAME          is '  与约束定义关联的名称  ';  comment oncolumn user_constraints.CONSTRAINT_TYPE        is '    类型的约束定义  ';                                    comment oncolumn user_constraints.TABLE_NAME            is '      与约束定义的表相关联的名称  ';  comment oncolumn user_constraints.SEARCH_CONDITION      is '  表检查的搜索条件文本  ';  comment oncolumn user_constraints.R_OWNER               is '     引用约束中使用的表的所有者  ';  comment oncolumn user_constraints.R_CONSTRAINT_NAME        is '       引用表的唯一约束定义的名称  ';  comment oncolumn user_constraints.DELETE_RULE              is '       引用约束的删除规则  ';  comment oncolumn user_constraints.STATUS                 is '     约束启用或禁用的执行状态  ';  comment oncolumn user_constraints.DEFERRABLEis '         约束是可延期的-可延期还是不可延期  ';  comment oncolumn user_constraints.DEFERREDis ' 约束是默认延迟的——延迟的还是立即的  ';  comment oncolumn user_constraints.VALIDATED             is '   这个约束系统得到验证了吗?-是否验证  ';  comment oncolumn user_constraints.GENERATED             is '     是否生成了约束名称系统?—生成的用户名或用户名  ';  comment oncolumn user_constraints.BAD                   is '        创建这个约束应该给出ORA-02436。公元2000年之前重写。  ';  comment oncolumn user_constraints.RELY                  is '       如果设置了该标志,将在优化器中使用  ';  comment oncolumn user_constraints.LAST_CHANGE           is '      上次启用或禁用此列的日期  ';  comment oncolumn user_constraints.INDEX_OWNER           is '   约束使用的索引的所有者  ';  comment oncolumn user_constraints.INDEX_NAME            is '    约束使用的索引  ';  comment oncolumn user_constraints.INVALID               is '';  comment oncolumn user_constraints.VIEW_RELATED              is '';  Type Code   Type Description                              Acts OnLevel
C                               Checkon a tableColumn
O                               ReadOnlyon a view                           Object
P                               主键                                                      Object
R                               引用的外键                                           Column
U                               唯一键                                                     Column
V                               检查视图上的选项                                Object






-------------------------all_ind_columns-----------------------------------------------------------------


comment ontable all_ind_columns is '列组成可访问表上的索引';

comment oncolumn all_ind_columns.INDEX_OWNER      is '  指数的主人  ';                                                     comment oncolumn all_ind_columns.INDEX_NAME       is '     索引名称  ';                                                        comment oncolumn all_ind_columns.TABLE_OWNER      is '   表或集群的主人 ';                                                  comment oncolumn all_ind_columns.TABLE_NAME       is '       表或集群名称';                                                 comment oncolumn all_ind_columns.COLUMN_NAME      is '  对象列的列名或属性';
comment oncolumn all_ind_columns.COLUMN_POSITION  is '  列或属性在索引中的位置';
comment oncolumn all_ind_columns.COLUMN_LENGTH    is '  列或属性的最大长度,以字节为单位';
comment oncolumn all_ind_columns.CHAR_LENGTHis '        列或属性的最大长度,以字符为单位';
comment oncolumn all_ind_columns.DESCEND          is '  如果该列在磁盘上按降序排序,则为ASC';







-------------------------all_indexes-----------------------------------------------------------------


comment ontable all_indexes is '用户可访问的表的索引描述';

comment oncolumn all_indexes.OWNER                       is '   用户名的所有者指数  ';
comment oncolumn all_indexes.INDEX_NAME                  is '   索引的名称           ';
comment oncolumn all_indexes.INDEX_TYPE                  is '    ';
comment oncolumn all_indexes.TABLE_OWNER                 is '   索引对象的所有者     ';
comment oncolumn all_indexes.TABLE_NAME                  is '   索引对象的名称  ';
comment oncolumn all_indexes.TABLE_TYPE                  is '   被索引的对象类型';
comment oncolumn all_indexes.UNIQUENESS                  is '   索引的唯一性状态:"UNIQUE", "NONUNIQUE",或"BITMAP"';
comment oncolumn all_indexes.COMPRESSION                 is '   索引压缩属性:"ENABLED", "DISABLED",或NULL';
comment oncolumn all_indexes.PREFIX_LENGTH               is '   用于压缩的前缀中的键列数';
comment oncolumn all_indexes.TABLESPACE_NAME             is '   包含索引的表空间名称';
comment oncolumn all_indexes.INI_TRANS                   is '   最初的交易数量';
comment oncolumn all_indexes.MAX_TRANS                   is '   最大数量的交易';
comment oncolumn all_indexes.INITIAL_EXTENT              is '   最初的程度的大小';
comment oncolumn all_indexes.NEXT_EXTENT                 is '   中等程度的大小  ';
comment oncolumn all_indexes.MIN_EXTENTS                 is '   段中允许的最小区段数';
comment oncolumn all_indexes.MAX_EXTENTS                 is '   段中允许的最大区段数';
comment oncolumn all_indexes.PCT_INCREASE                is '   区段大小比例增加';
comment oncolumn all_indexes.PCT_THRESHOLD               is '   每个索引项允许的块空间的阈值百分比';
comment oncolumn all_indexes.INCLUDE_COLUMN              is '   User column-id表示要包含在索引组织的表顶索引中的最后一列';
comment oncolumn all_indexes.FREELISTS                   is '   在这个段中分配的进程自由列表的数量';
comment oncolumn all_indexes.FREELIST_GROUPS             is '   分配给这个段的自由列表组的数目';
comment oncolumn all_indexes.PCT_FREE                    is '   块中空闲空间的最小百分比';
comment oncolumn all_indexes.LOGGING                     is '   日志记录属性  ';
comment oncolumn all_indexes.BLEVEL                      is '   b - tree水平  ';
comment oncolumn all_indexes.LEAF_BLOCKS                 is '   叶块的数量在索引中';
comment oncolumn all_indexes.DISTINCT_KEYS               is '   索引中不同键的数目';
comment oncolumn all_indexes.AVG_LEAF_BLOCKS_PER_KEY     is '   每个键的叶块的平均数量';
comment oncolumn all_indexes.AVG_DATA_BLOCKS_PER_KEY     is '   每个键的平均数据块数';
comment oncolumn all_indexes.CLUSTERING_FACTOR           is '   度量这个索引所针对的表的(dis)顺序的数量';
comment oncolumn all_indexes.STATUS                      is '   非分区索引是否可用';
comment oncolumn all_indexes.NUM_ROWS                    is '    ';
comment oncolumn all_indexes.SAMPLE_SIZE                 is '   用于分析该指数的样本大小';
comment oncolumn all_indexes.LAST_ANALYZED               is '   该指数被分析的最近时间的日期';
comment oncolumn all_indexes.DEGREE                      is '   每个实例用于扫描分区索引的线程数';
comment oncolumn all_indexes.INSTANCES                   is '   要扫描分区索引的实例数目';
comment oncolumn all_indexes.PARTITIONED                 is '   这个索引是分区的吗?是或否  ';
comment oncolumn all_indexes.TEMPORARYis '   当前会话是否只能看到它放在这个对象本身中的数据?   ';
comment oncolumn all_indexes.GENERATED                   is '   是否生成了这个索引系统的名称? ';
comment oncolumn all_indexes.SECONDARY                   is '   索引对象是否作为域索引的iccreate的一部分创建?   ';
comment oncolumn all_indexes.BUFFER_POOL                 is '   用于索引块的默认缓冲池';
comment oncolumn all_indexes.FLASH_CACHE                 is '   用于索引块的默认flash缓存提示';
comment oncolumn all_indexes.CELL_FLASH_CACHE            is '   用于索引块的默认单元格闪存缓存提示';
comment oncolumn all_indexes.USER_STATS                  is '   统计数据是由用户直接输入的吗?   ';
comment oncolumn all_indexes.DURATION                    is '   如果索引在临时表上,那么持续时间是sys$session或sys$transaction else NULL';
comment oncolumn all_indexes.PCT_DIRECT_ACCESS           is '   如果索引在物联网,那么这是有效猜测行的百分比';
comment oncolumn all_indexes.ITYP_OWNER                  is '   如果是域索引,则这是indextype所有者';
comment oncolumn all_indexes.ITYP_NAME                   is '   如果是domain index,则这是相关联的indextype的名称';
comment oncolumn all_indexes.PARAMETERS                  is '   如果是domain index,则这是参数字符串';
comment oncolumn all_indexes.GLOBAL_STATS                is '   是否在没有合并基础分区的情况下计算统计数据? ';
comment oncolumn all_indexes.DOMIDX_STATUS               is '   域索引的indextype是否有效';
comment oncolumn all_indexes.DOMIDX_OPSTATUS             is '   域索引操作的状态';
comment oncolumn all_indexes.FUNCIDX_STATUS              is '   基于功能的索引是禁用还是启用? ';
comment oncolumn all_indexes.JOIN_INDEX                  is '   这个索引是一个连接索引吗?   ';
comment oncolumn all_indexes.IOT_REDUNDANT_PKEY_ELIM     is '   是否从物联网二级索引中删除了冗余的主键列?   ';
comment oncolumn all_indexes.DROPPED                     is '   索引是否被删除,是否在回收站中';
comment oncolumn all_indexes.VISIBILITY                  is '   索引对优化器是可见还是不可见';
comment oncolumn all_indexes.DOMIDX_MANAGEMENT           is '   如果这是一个域索引,那么它是系统管理的还是用户管理的';
comment oncolumn all_indexes.SEGMENT_CREATED             is '   索引段是否已经创建';































































SQL>