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 and
cu.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;
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 and
cu.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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-1471842/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 查詢沒有索引的外來鍵索引
- Oracle查詢表的外來鍵引用關係Oracle
- Oracle 外來鍵查詢sqlOracleSQL
- ORACLE: 查詢(看)表的主鍵、外來鍵、唯一性約束和索引Oracle索引
- 查詢外來鍵約束、子表欄位等資訊的SQLSQL
- Oracle根據主鍵查詢外來鍵Oracle
- 查詢一個表的外來鍵
- oracle中查詢、禁用、啟用、刪除表外來鍵Oracle
- 查詢(看)表的主鍵、外來鍵、唯一性約束和索引索引
- 查詢oracle表的資訊(表,欄位,約束,索引)Oracle索引
- 根據表查詢索引資訊索引
- 查詢某個表的索引資訊索引
- 外來鍵缺索引檢查指令碼索引指令碼
- oracle外來鍵索引解決父表鎖定問題Oracle索引
- ORACLE查詢表之間的主外來鍵關係Oracle
- Oracle OCP(22):查詢表資訊Oracle
- Oracle 查詢表與表之間的 主外來鍵關係Oracle
- 表外來鍵未加索引之處理索引
- 關於外來鍵約束和對應主鍵資訊的查詢指令碼指令碼
- 【索引】Oracle查詢指定索引提高查詢效率索引Oracle
- 檢查外來鍵是否有索引的指令碼索引指令碼
- Oracle 外來鍵索引影響阻塞問題Oracle索引
- oracle查詢沒有主鍵的表Oracle
- 查詢表或索引增長的歷史資訊索引
- 查詢表資訊
- GBase 庫中查詢表的列資訊
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- 組合索引的前導列與查詢——ORACLE索引Oracle
- 10.30 索引,外來鍵索引
- MySQL查詢索引的選擇性、索引欄位、註釋等基本資訊的SQLMySql索引
- MySQL 查詢索引的選擇性、索引欄位、註釋等基本資訊的SQLMySql索引
- 表和索引並行查詢索引並行
- oracle 使用sql查詢表註釋和列註釋及資料型別等OracleSQL資料型別
- oracle 鎖資訊查詢
- 查詢系統關鍵資訊
- 表空間查詢資訊
- 查詢時LONG列追加資訊
- MySQL 覆蓋索引、回表查詢MySql索引