通过程序取得oracle数据库中所有表及表结构(包括注释)

如果做表单自定义或做数据库管理软件,就必须能自动取得某个用户下数据库的一些信息。比较有用的有:
表名,字段英文名,字段中文名,字段的类型,字段的长度等。其中,字段的中文名按照数据库的记录是无法取到的,但是我们可以变通一下,
通过comments去记录字段中文名。


//取得该用户下所有的表
select * from user_tables;


//取得表名为Sysuser的注释信息
select * from user_tab_comments where table_name = 'SYSUSER';


//取得该用户下表名为Sysuser表的结构
select * from user_tab_columns where table_name='SYSUSER';


//取得该用户下表名为sysuser表中字段的注释信息
select * from user_col_comments where table_name = 'SYSUSER';

//取得该用户下所有表的中文名称和英文名称
select t2.table_name,t2.comments from user_tables t1,user_tab_comments t2 where t1.table_name=t2.table_name;

TABLE_NAME                     COMMENTS
------------------------------ -----------------------------------------------
SYSUSER                        用户表
//取得表sysuser中的英文字段名,中文字段名,字段类型,字段长度
select t1.TABLE_NAME,t1.COLUMN_NAME,t2.COMMENTS,t1.DATA_TYPE,t1.DATA_LENGTH from user_tab_columns t1, user_col_comments t2 where t1.TABLE_NAME='SYSUSER' and t1.TABLE_NAME=t2.TABLE_NAME and t1.COLUMN_NAME=t2.COLUMN_NAME;

TABLE_NAME     COLUMN_NAME          COMMENTS          DATA_TYPE       DATA_LENGTH
----------- ----------------------------------------------------------------------
SYSUSER         SYSUSERID            用户ID           VARCHAR2        50
SYSUSER         SYSUSERNAME          用户名           VARCHAR2        50
SYSUSER         SYSUSERPASSWORD      密码  

猜你喜欢

转载自runwzj.iteye.com/blog/1939967