時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
??? 因為項目某些模塊的數(shù)據(jù)結(jié)構(gòu)設計沒有嚴格按照某規(guī)范設計,所以只能從數(shù)據(jù)庫中查詢數(shù)據(jù)結(jié)構(gòu),需要查詢的信息如下:字段名稱、數(shù)據(jù)類型、是否為空、默認值、主鍵、外鍵等等。
??? 在網(wǎng)上搜索了查詢上述信息的方法,總結(jié)如下:
??? 一,查詢表基本信息
??? 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的意義是使得結(jié)果按照設計數(shù)據(jù)結(jié)構(gòu)時的順序顯示。
??? 二,查詢表主鍵
??? select
??? col.column_name
??? from
??? user_constraints con,user_cons_columns col
??? where
??? con.constraint_name=col.constraint_name and con.constraint_type='P' and col.table_name='ONLINEXLS'三,查詢表外鍵
??? select
??? distinct(ucc.column_name) column_name,rela.table_name,rela.column_name column_name1
??? from
??? user_constraints uc,user_cons_columns ucc, (select t2.table_name,t2.column_name,t1.r_constraint_name from user_constraints t1,user_cons_columns t2 where t1.r_constraint_name=t2.constraint_name and t1.table_name='ONLINEXLS') rela
??? where
??? uc.constraint_name=ucc.constraint_name and uc.r_constraint_name=rela.r_constraint_name and uc.table_name='ONLINEXLS'
??? 1、查找表的所有索引(包括索引名,類型,構(gòu)成列):
??? 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 = 要查詢的表
??? 2、查找表的主鍵(包括名稱,構(gòu)成列)表名大寫 :
??? 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 = '要查詢的表' ;
??? 僅查詢表主鍵
??? select column_name from user_cons_columns wherE CONSTRAINT_NAME in (select CONSTRAINT_NAME from user_constraints where table_name =upper('表名') and CONSTRAINT_TYPE='P');
??? 3、查找表的唯一性約束(包括名稱,構(gòu)成列):
??? select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查詢的表
??? 4、查找表的外鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):
??? select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查詢的表
??? 查詢外鍵約束的列名:
??? select * from user_cons_columns cl where cl.constraint_name = 外鍵名稱
??? 查詢引用表的鍵的列名:
??? select * from user_cons_columns cl where cl.constraint_name = 外鍵引用表的鍵名
??? 5、查詢表的所有列及其屬性
??? 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 = 要查詢的表
關(guān)鍵詞標簽:ORACLE,數(shù)據(jù)庫
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務器設置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法