一、获取表:
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_CACHEdba_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_commentsuser_tab_comments:table_name,table_type,comments
相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。
四、获取字段注释:
select*from user_col_commentsuser_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;
九、总结(效果如图)
SELECTt.column_id,t.TABLE_NAME ,t.COLUMN_NAME ,c.COMMENTS ,t.DATA_TYPE ,t.DATA_LENGTH ,t.NULLABLEFROMall_tab_columns tINNER JOIN all_col_comments c ONt.TABLE_NAME = c.TABLE_NAMEAND t.COLUMN_NAME = c.COLUMN_NAMEWHEREt.Table_Name = 'MS_TJYBZ01'ORDER BYt.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;