oracle資料庫 查詢資料結構
我們在做專案中某些模組的資料結構設計沒有嚴格按照某規範設計,所以只能從資料庫中查詢資料結構,需要查詢的資訊如下:欄位名稱、資料型別、是否為空、預設值、主鍵、外來鍵等。
總結如下:
1,查詢表基本資訊
select
utc.column_name,utc.data_type,utc.data_length,utc.data_precision,utc.data_scale,utc.nullable,utc.data_default,ucc.comments
from
user_tab_columns utc,user_col_comments ucc
where
utc.table_name = ucc.table_name and utc.column_name =ucc.column_name and utc.table_name = 'onlinexls'
order by
column_id
注意:order by column_id的意義是使得結果按照設計資料結構時的順序顯示。
2,查詢表主鍵
select
col.column_name
from
user_constraints con,user_cons_columns col
where
con.constraint_name=col.constraint_nameand con.constraint_type='p' and col.table_name='onlinexls'
3,查詢表外來鍵
select
distinct(ucc.column_name)column_name,rela.table_name,rela.column_name column_name1
from
user_constraints uc,user_cons_columns ucc, (selectt2.table_name,t2.column_name,t1.r_constraint_name from user_constraintst1,user_cons_columns t2 where t1.r_constraint_name=t2.constraint_name andt1.table_name='onlinexls') rela
where
uc.constraint_name=ucc.constraint_name anduc.r_constraint_name=rela.r_constraint_name and uc.table_name='onlinexls'
3、查詢表的所有索引(包括索引名,型別,構成列):
select t.*,i.index_type from user_ind_columnst,user_indexes i where t.index_name = i.index_name and t.table_name =i.table_name and t.table_name = 要查詢的表
4、查詢表的主鍵(包括名稱,構成列)表名大寫 :
select cu.* from user_cons_columns cu, user_constraintsau where cu.constraint_name = au.constraint_name and au.constraint_type = 'p'and au.table_name = '要查詢的表' ;
5.僅查詢表主鍵
select column_name from user_cons_columns whereconstraint_name in (select constraint_name from user_constraints wheretable_name =upper('表名') and constraint_type='p');
6、查詢表的唯一性約束(包括名稱,構成列):
select column_name from user_cons_columns cu,user_constraints au where cu.constraint_name = au.constraint_name andau.constraint_type = 'u' and au.table_name = 要查詢的表
7、查詢表的外來鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):
select * from user_constraints c where c.constraint_type= 'r' and c.table_name = 要查詢的表
8.查詢外來鍵約束的列名:
select * from user_cons_columns cl wherecl.constraint_name = 外來鍵名稱
查詢引用表的鍵的列名:
select * from user_cons_columns cl wherecl.constraint_name = 外來鍵引用表的鍵名
9、查詢表的所有列及其屬性
select t.*,c.comments from user_tab_columnst,user_col_comments c where t.table_name = c.table_name and t.column_name =c.column_name and t.table_name = 要查詢的表
Oracle 獲取表結構資訊
通過oracle中的user tab cols,user col comments,user constraints,user cons columns表聯合查詢。user tab cols用來獲取對應使用者表的列資訊 user col comments用來獲取對應使用者表列的注釋資訊 user c...
oracle使用者資訊
1.檢視所有使用者 select from dba users select from all users select from user users 2.檢視使用者或角色系統許可權 直接賦值給使用者或角色的系統許可權 select from dba sys privs select from u...
獲取oracle表結構的字段資訊
select a.column id as 列號,a.column name as 列名,a.data type as 型別,decode a.data type,number a.data precision,a.data length as 長度,a.data scale as 小數字,deco...