查询库里所有表名和注释
oracle中的模式(schema),可以理解为mysql中的数据库
-- 模式名大写
SELECT TABLE_NAME,COMMENTS from all_tab_comments where OWNER='模式名';
结果如下:
补充:
all_tab_comments 这张表的字段有这几个:
OWNER,TABLE_NAME,TABLE_TYPE,COMMENTS,ORIGIN_CON_ID
OWNER的值就是模式(数据库)的名字。TABLE_NAME是表名。TABLE_TYPE通常都是TABLE和VIEW。COMMENTS就是注释,一般中文世界里会写上中文的表名。ORIGIN_CON_ID默认是0
查询所有表名
方法一:
指定Oracle用户名(即schema(模式),即数据库名)进行查询
-- 模式名大写,因为oracle中是区分大小写的,即大小写敏感
SELECT * FROM all_tables WHERE OWNER = '模式名';
-- 加 ORDER BY TABLE_NAME 是让结果按照表名顺序展示
SELECT * FROM all_tables WHERE OWNER = '模式名' ORDER BY TABLE_NAME;
方法二:
查看当前登录用户(schema)下的表(即当前数据库里的所有表)
-- 因为是当前这个模式(数据库),所以不需要WHERE OWNER = '模式名'
SELECT * FROM user_tables
-- 加 ORDER BY TABLE_NAME 是让结果按照表名顺序展示
SELECT * FROM user_tables ORDER BY TABLE_NAME
注释表:
注释表也一样,all_tab_comments 和 user_tab_comments
SELECT * FROM all_tab_comments WHERE OWNER = '模式名';
SELECT * FROM user_tab_comments
dba_tables、all_tables、user_tables区别
DBA_TABLES >= ALL_TABLES >= USER_TABLES
- DBA_TABLES:DBA拥有的或者可以访问的所有关系表
- ALL_TABLES:某一用户所拥有的或者可以访问的所有关系表
- USER_TABLES:某一用户所拥有的所有关系表
ORACLE 数据库是大小写敏感,默认都是大写,搜的时候注意转成大写
select * from user_tables where table_name = upper('ali_org');
=======================分割线==========================
文章到此已经结束,以下是紫薯布丁
-- 模式名大写
SELECT TABLE_NAME,COMMENTS from all_tab_comments where OWNER='模式名';
-- 模式名大写
SELECT * FROM all_tables WHERE OWNER = '模式名';
-- 加 ORDER BY TABLE_NAME 是让结果按照表名顺序展示
SELECT * FROM all_tables WHERE OWNER = '模式名' ORDER BY TABLE_NAME;
SELECT * FROM user_tables
-- 加 ORDER BY TABLE_NAME 是让结果按照表名顺序展示
SELECT * FROM user_tables ORDER BY TABLE_NAME
select * from user_tables where table_name = upper('ali_org');
SELECT * FROM all_tab_comments WHERE OWNER = '模式名';
SELECT * FROM user_tab_comments
-- 因为是当前这个模式(数据库),所以不需要WHERE OWNER = '模式名'