概述

工作中总需要查看当前用户的表结构、主键、索引,所以作为备忘,顺便分享给大家。


1、查询表的所有列及其属性

select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表

2、查找表的所有索引(包括索引名,类型,构成列)

select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表

形成创建索引的sql语句(可以直接使用):

oracle查看表结构的sql语句(oracle实用sql查看当前用户的表结构)(1)

去除了创建主键或者创建含有blod列系统自动形成的索引。同时,在创建索引的过程中也考虑到列的顺序。使用了sys_connect_by_path(),很好的列合并工具。

3、查找表的主键(包括名称,构成列)

select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表

形成创建主键的sql语句(直接可以使用):

oracle查看表结构的sql语句(oracle实用sql查看当前用户的表结构)(2)

在创建主键的过程中考虑了主键列的顺序。使用了sys_connect_by_path(),很好的列合并工具。


后面会分享更多关于DBA方面的内容,感兴趣的朋友可以关注下!!

oracle查看表结构的sql语句(oracle实用sql查看当前用户的表结构)(3)

,