Oracle查詢表資訊(索引,外鍵,列等)

來源:互聯網
上載者:User

標籤:os   io   cti   ar   amp   sql   type   oracle   

oracle查詢表資訊(索引,外鍵,列等)

oracle中查詢表的資訊,包括表名,欄位名,欄位類型,主鍵,外鍵唯一性限制式資訊,索引資訊查詢SQL如下,希望對大家有所協助:

1、查詢出所有的使用者表 select * from user_tables 可以查詢出所有的使用者表

select owner,table_name from all_tables; 查詢所有表,包括其他使用者表

通過表名過濾需要將字母作如下處理

select * from user_tables where table_name = upper(‘表名‘)

因為無論你建立表的時候表名名字是大寫還是小寫,create語句執行通過之後,對應的user_tables表中的table_name欄位都會自動變為大寫字母,所以必須通過內建函數upper將字串轉化為大寫字母進行查詢,否則,即使建表語句執行通過之後,通過上面的查詢語句仍然查詢不到對應的記錄。

2、查詢出使用者所有表的索引 select * from user_indexes

3、查詢使用者表的索引(非叢集索引): select * from user_indexes where uniqueness=‘NONUNIQUE‘

4、查詢使用者表的主鍵(叢集索引): select * from user_indexes where uniqueness=‘UNIQUE‘

5、查詢表的索引 select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and

t.table_name=‘NODE‘

6、查詢表的主鍵 select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and

au.constraint_type = ‘P‘ AND cu.table_name = ‘NODE‘

7、尋找表的唯一性限制式(包括名稱,構成列):

select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name andcu.table_name=‘NODE‘

8、尋找表的外鍵 select * from user_constraints c where c.constraint_type = ‘R‘ and c.table_name=‘STAFFPOSITION‘

    查詢外鍵約束的列名: select * from user_cons_columns cl where cl.constraint_name = 外鍵名稱

    查詢參考資料表的鍵的列名: select * from user_cons_columns cl where cl.constraint_name = 外鍵參考資料表的鍵名

9、查詢表的所有列及其屬性

方法一:

select * from user_tab_columns where table_name=upper(‘表名‘);

方法二:

select cname,coltype,width from col where tname=upper(‘表名‘);;  

10.查詢一個使用者中存在的過程和函數

select object_name,created,status from user_objects where lower(object_type) in (‘procedure‘,‘function‘);  

11.查詢其它角色表的許可權 select * from role_tab_privs ;    

查看索引個數和類別

select * from user_indexes where table_name=‘表名‘ ;

查看索引被索引的欄位

SQL>select * from user_ind_columns where index_name=upper(‘&index_name‘);

PS:

查看某表的約束條件

SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper(‘&table_name‘);

SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper(‘&table_owner‘) and c.table_name = upper(‘&table_name‘) and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position;

查看視圖的名稱

SQL>select view_name from user_views;

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.