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

 更新时间:2013年11月13日 17:20:37   作者:  
使用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_tab_cols
select COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from user_tab_cols
where table_name=upper('表名')

order by COLUMN_NAME
--这种方法只能查找当前用户下的表

--第三种方法: 查询ALL_TAB_COLUMNS
select distinct COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from ALL_TAB_COLUMNS
WHERE TABLE_NAME= upper('表名')
--这种方法可以查询所有用户下的表

---------------------------补充-------------------------------------------------------------
复制代码 代码如下:

--增加字段
alter table cw_srcbpb
add (SRCBPB_RJBPBL varchar2(100) );
alter table cw_srcbpb
modify (SRCBPB_RJBPBL number(30,3) );
--Oracle查看所有表和字段

--获取表:

select table_name from user_tables; --当前用户的表
select table_name from all_tables; --所有用户的表
select table_name from dba_tables; --包括系统表

select table_name from dba_tables where owner='LBSP'; --获取用户***所拥有的表这里的用户名要记得是用大写的。
-- 获取表字段:其实这里是根据用户的权限来获取字段的属性(表名要大写)

select * from user_tab_columns where Table_Name='用户表';--获取用户表的所有字段还有字段的属性。

select * from all_tab_columns where Table_Name='用户表';--获取用户表的所有字段还有字段的属性。所属用户是***

select * from dba_tab_columns where Table_Name='用户表';--获取用户表的所有字段还有字段的属性。所属用户是***

--获取表注释:

select * from user_tab_comments

--user_tab_comments:table_name,table_type,comments

--相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。

--获取字段注释:
select * from user_col_comments
--user_col_comments:table_name,column_name,comments
--相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列。
--查询出用户所有表的索引
select * from user_indexes
--查询用户表的索引(非聚集索引):
select * from user_indexes where uniqueness='NONUNIQUE'
--查询用户表的主键(聚集索引):
select * from user_indexes where uniqueness='UNIQUE'
--查询表的索引
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and
t.table_name='NODE'
--查询表的主键
select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and
au.constraint_type = 'P' AND cu.table_name = 'NODE'
--查找表的唯一性约束(包括名称,构成列):
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name and
cu.table_name='NODE'
--查找表的外键
select * from user_constraints c where c.constraint_type = 'R' and c.table_name='STAFFPOSITION'
--查询外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称
--查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名

相关文章

  • Oracle常见错误代码的分析与解决

    Oracle常见错误代码的分析与解决

    Oracle常见错误代码的分析与解决...
    2007-03-03
  • oracle索引的测试实例代码

    oracle索引的测试实例代码

    这篇文章主要给大家介绍了关于oracle索引测试的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Oracle function函数返回结果集的3种方法

    Oracle function函数返回结果集的3种方法

    工作中常需要经过一段复杂逻辑处理后,得出的一个结果集,所以这篇文章主要给大家介绍了关于Oracle function函数返回结果集的3种方法,需要的朋友可以参考下
    2023-07-07
  • Oracle递归查询start with connect by prior的用法

    Oracle递归查询start with connect by prior的用法

    这篇文章主要给大家介绍了关于Oracle递归查询start with connect by prior、的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • 详解Oracle块修改跟踪功能

    详解Oracle块修改跟踪功能

    块修改跟踪功能是指使用二进制文件记录数据库中数据库更改的过程。这篇文章主要介绍了Oracle块修改跟踪功能,需要的朋友可以参考下
    2021-11-11
  • CentOS8下安装oracle客户端完整(填坑)过程分享(推荐)

    CentOS8下安装oracle客户端完整(填坑)过程分享(推荐)

    这篇文章主要介绍了CentOS8下安装oracle客户端完整(填坑)过程分享,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Oracle截取字符串去掉字段末尾指定长度的字符

    Oracle截取字符串去掉字段末尾指定长度的字符

    这篇文章主要介绍了Oracle截取字符串去掉字段末尾指定长度的字符 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • Oracle中查询表结构的6种方法总结

    Oracle中查询表结构的6种方法总结

    工作中查看oracle表结构经常会遇到,下面这篇文章主要给大家介绍了关于Oracle中查询表结构的6种方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Oracle常用命令大全集

    Oracle常用命令大全集

    Oracle常用命令大全集...
    2007-03-03
  • Linux 创建oracle数据库的详细过程

    Linux 创建oracle数据库的详细过程

    这篇文章主要介绍了Linux 创建oracle数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论