达梦元数据查询

300 阅读1分钟

达梦元数据查询

之前用mysql的information_schema查询数据,自从mysql迁移到达梦后,sql报错,问题现象如下:

1.Mysql

在mysql中运行正常

select column_name,column_comment from information_schema.columns where table_name='table_mysql' and TABLE_SCHEMA='demo_test'

mysql支持元数据信息查询,information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。

什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。

2.达梦

切换到达梦sql报错,是因为达梦的元数据名称和mysql不一致

3.解决办法

SELECT  COLUMN_NAME as column_name , COMMENTS as column_comment  FROM USER_COL_COMMENTS WHERE table_name='TABLE_1' and owner='SYSDBA'

4.参考链接

1.eco.dameng.com/community/q…

2.www.itpub.net/forum.php?m…

获取表:
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='用户名'
user_tables:
table_name,tablespace_name,last_analyzed等
dba_tables:
ower,table_name,tablespace_name,last_analyzed等
all_tables:
ower,table_name,tablespace_name,last_analyzed等
all_objects:
ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等
获取表字段:
select * from user_tab_columns where Table_Name='用户表';
select * from all_tab_columns where Table_Name='用户表';
select * from dba_tab_columns where Table_Name='用户表';
user_tab_columns:
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
all_tab_columns :
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
dba_tab_columns:
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
获取表注释:
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列。