一、获取表:
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='用户名';
select * from user_tab_columns where Table_Name='AA';//对应的表名要大写
user_tables 的表字段如下:
TABLE_NAME,TABLESPACE_NAME,CLUSTER_NAME,IOT_NAME,STATUS,PCT_FREE,PCT_USED,INI_TRANS,MAX_TRANS,INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,MAX_EXTENTS,PCT_INCREASE,FREELISTS,FREELIST_GROUPS,LOGGING,BACKED_UP,NUM_ROWS,BLOCKS,EMPTY_BLOCKS,AVG_SPACE,CHAIN_CNT,AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS,NUM_FREELIST_BLOCKS,"DEGREE",INSTANCES,"CACHE",TABLE_LOCK,SAMPLE_SIZE,LAST_ANALYZED,PARTITIONED,IOT_TYPE,"TEMPORARY",SECONDARY,NESTED,BUFFER_POOL,FLASH_CACHE,CELL_FLASH_CACHE,ROW_MOVEMENT,GLOBAL_STATS,USER_STATS,DURATION,SKIP_CORRUPT,MONITORING,CLUSTER_OWNER,DEPENDENCIES,COMPRESSION,COMPRESS_FOR,DROPPED,READ_ONLY,SEGMENT_CREATED,RESULT_CACHE
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
五、获取表索引:
select * from user_indexes;
六、获取表主键:
select * from user_constraints;
七、查看同义词:
-- 查看同义词
SELECT * FROM SYS.ALL_SYNONYMS t WHERE t.owner in ('用户名')
八、查看存储过程脚本内容:
-- 查看存储过程脚本内容
SELECT text FROM user_source WHERE NAME = '存储过程名' ORDER BY line;
九、总结(效果如图)
SELECT
t.column_id,
t.TABLE_NAME ,
t.COLUMN_NAME ,
c.COMMENTS ,
t.DATA_TYPE ,
t.DATA_LENGTH ,
t.NULLABLE
FROM
all_tab_columns t
INNER JOIN all_col_comments c ON
t.TABLE_NAME = c.TABLE_NAME
AND t.COLUMN_NAME = c.COLUMN_NAME
WHERE
t.Table_Name = 'MS_TJYBZ01'
ORDER BY
t.column_id ;
查看表对应的数据量、
SELECT t.table_name, t.num_rows FROM user_tables t WHERE NUM_ROWS IS NOT NULL AND TABLE_NAME NOT LIKE '%HIS%' ORDER BY NUM_ROWS DESC;