`
BBjava
  • 浏览: 126441 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

USER_TAB_COLUMNS(COLS)

阅读更多
45.4.4 列:USER_TAB_COLUMNS(COLS)
本文来自51CTO,本文原作者有一系列文章:http://book.51cto.com/art/201007/212393.htm


尽管用户不从列中进行查询,但显示列的数据字典视图与表的数据字典视图仍然密切相关。USER_TAB_COLUMNS 视图列出了特定于列的信息。也可以通过公有同义词COLS 查询USER_TAB_COLUMNS 视图。

可从USER_TAB_COLUMNS 视图查询的列可以主要分为3 类:

标识列,如Table_Name、Column_Name 及Column_ID

与定义有关的列,如Data_Type、Data_Length、Data_Precision、Data_Scale、Nullable及Default_Length

与统计信息有关的列,如Num_Distinct、Low_Value、High_Value、Density、Num_Nulls及其他列

Table_Name 列和Column_Name 列包含表和列的名称。与定义有关的列的用法在附录A中的“DATATYPE”项中描述。与统计信息有关的列在分析表时填充。列的统计信息也在USER_TAB_COL_STATISTICS 视图(稍后介绍)中提供。

要查看表的列定义,可查询USER_TAB_COLUMNS 视图,并在where 子句中指定Table_Name:

select Column_Name, Data_Type  from USER_TAB_COLUMNS  where Table_Name = 'NEWSPAPER';  COLUMN_NAME DATA_TYPE  FEATURE VARCHAR2  SECTION CHAR  PAGE NUMBER
本示例中的信息还可通过SQL*Plus 中的describe 命令获得。但是,describe 命令不提供查看列的默认值和统计信息的选项。ALL_TAB_COLUMNS 视图显示用户拥有的和授权该用户(直接授权或者通过授权给PUBLIC(所有用户)) 访问的所有表和视图的列。由于ALL_TAB_COLUMNS 能包含多个用户的项,因此,除了USER_TAB_COLUMNS 视图中的列,它还包含一个Owner 列。DBA_TAB_COLUMNS 视图与ALL_TAB_COLUMNS 视图有相同的列定义,DBA _TAB_COLUMNS 视图列出了数据库中所有表和视图的列定义。

1. 列统计信息

大多数的列统计信息可从USER_TAB_COLUMNS 视图( 以前的存放地点) 和USE_TAB_COL_ STATISTICS 视图中得到。用于USER_TAB_COL_STATISTICS 视图的列就是USER_TAB_COLUMNS 视图中与统计信息有关的列,以及Table_Name 列和Column_Name 列。USER_TAB_COL_STATISTICS 视图包含由USER_TAB_COLUMNS 视图提供的向后兼容的统计信息列。可以通过USER_TAB_COL_STATISTICS 视图访问这些列。

2. 列值直方图

可以使用直方图改善基于成本的优化程序所使用的分析。USER_TAB_HISTOGRAMS 视图包含每一列的直方图信息,包括Table_Name 、Column_Name 、Endpoint_Number 、Endpoint_Value 和Endpoint_Actual_Value。USER_TAB_HISTOGRAMS 视图中的值由优化程序使用,以确定表中列值的分布。USER_TAB_HISTOGRAMS 视图的“ALL”版本和“DBA”版本都是可用的版本。

3. 可更新的列

可以在视图中更新记录,该视图包含它们在视图查询中的连接,只要该连接满足某种特定的条件即可。 USER_UPDATABLE_COLUMNS 视图列出了可更新的所有列。可以查询该列的Owner、 Table_Name 和Column_Name。如果列能够更新,则Updatable 列有一个值为YES;如果列不能更新,则有一个值为NO。还可以进行查询,以确定是否能通过Insertable列和Deletable 列在视图中插入或删除记录。

分享到:
评论

相关推荐

    获取ORACLE 表字段,表名,以及主键之类等等的信息

    USER_COL_COMMENTS ON USER_COL_COMMENTS.TABLE_NAME = USER_TAB_COLS.TABLE_NAME AND USER_COL_COMMENTS.COLUMN_NAME = USER_TAB_COLS.COLUMN_NAME; ``` #### 3. 查询表的注释信息 如果需要获取表的注释信息,...

    oracle 使用sql获取数据库表、表的字段的多种方法

    查询dba_tab_columns 代码如下: select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from dba_tab_columns where table_name =upper(‘表名’) order by COLUMN_NAME –这种方法需要有DBA权限 –第二种方法: 查询user_...

    在多表中查找一个表名或者字段名的 SQL 语句

    SELECT * FROM user_tab_cols WHERE table_name LIKE '%STH%'; ``` 这里的关键在于`LIKE`操作符,它允许你在字符串中进行模式匹配。`%`是通配符,表示任意数量的字符。因此,`'%STH%'`意味着在表名中的任何位置查找...

    ORACLE数据字典与视图[参照].pdf

    17. ALL_TAB_COLUMNS:用户可存取的表、视图、聚集的列 18. ALL_TAB_COMMENTS:用户可存取的表或视图上的注释 19. ALL_TAB_PRIVS:在对象上授权,该用户或PUBLIC 是被授与者 20. ALL_TRIGGERS:用户可存取的触发器 ...

    oracle 用表结构创建 type

    - 使用`user_TAB_COLUMNS`视图查询指定表的所有列名和数据类型。 - 将查询结果转换为Type的定义格式(列名+数据类型)并拼接起来。 4. **构造并执行SQL语句**: - 根据`cols_s`构建完整的Type定义语句。 - 使用...

    Oracle查看表结构的几种方法示例代码

    Oracle数据库维护了一系列系统表,如`USER_TAB_COLS`, `USER_COL_COMMENTS`, `USER_CONSTRAINTS`, 和 `USER_CONS_COLUMNS`,这些表存储了关于用户对象的信息。通过联合查询这些表,可以获取到更为详细的表结构信息...

    ORACLE数据字典与视图

    20. **ALL_TAB_COLUMNS** - 描述:列出用户可以访问的表、视图和聚集的列。 - 用途:详细了解表结构。 21. **ALL_TAB_COMMENTS** - 描述:提供用户可以访问的表或视图上的注释。 - 用途:增强可读性和文档化。 ...

    开发高性能的ORACLE数据库SQL.doc

    - **DBA_TAB_COLS**, **USER_TAB_COLS**: 包含各表的列信息。 - **DBA_IND_COLUMNS**, **USER_IND_COLUMNS**: 存储索引列的详细信息。 - **DBA_SEGMENTS**: 记录表和索引占用的存储空间情况。 通过这些系统对象,...

    Oracle参考教案

    - **列信息**: `USER_TAB_COLS` 显示用户表的所有列信息。 - **会话信息**: `NLS_SESSION_PARAMETERS`, `V$NLS_PARAMETERS`, `V$SESSION` 分别提供当前会话的信息、系统级NLS参数和用户会话信息。 #### 五、数据...

    oracle 数据字典

    - `DBA_TAB_COLUMNS` 或 `COLS`:提供所有用户表的列信息。 - `DBA_VIEWS`:列出所有用户的视图信息。 - `DBA_SEQUENCES` 或 `SEQ`:展示所有用户的序列信息。 - `DBA_SYNONYMS` 或 `SYN`:显示所有用户的同义词信息...

    GP基本操作命令

    * 返回查询头几行/随机几行:`SELECT cols FROM tab ORDER BY random() LIMIT 1 ;` * 更改字段类型:`ALTER TABLE ALTER COLUMN TYPE` GPload 工具 * 编写 load.yml 文件: ``` VERSION: 1.0.0.1 USER: gpadmin ...

Global site tag (gtag.js) - Google Analytics