因為項目某些模塊的數(shù)據(jù)結(jié)構(gòu)設(shè)計沒有嚴(yán)ge按照某規(guī)范設(shè)計,所以只能從數(shù)據(jù)庫中查詢數(shù)據(jù)結(jié)構(gòu),需要查詢的信息如下:字段名稱、數(shù)據(jù)類型、是否為空、默認(rèn)值、主鍵、外鍵等等。
在網(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è)計數(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、查找表的外鍵(包括名稱,引用表的表名和對應(yīng)的鍵名,下面是分成多步查詢):
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 = 要查詢的表
新聞熱點
疑難解答
圖片精選