ORACLE資料庫查詢表的基本資訊,主鍵,外來鍵等

2021-08-31 15:01:57 字數 2657 閱讀 8146

因為專案某些模組的資料結構設計沒有嚴格按照某規範設計,所以只能從資料庫中查詢資料結構,需要查詢的資訊如下:欄位名稱、資料型別、是否為空、預設值、主鍵、外來鍵等等。

在網上搜尋了查詢上述資訊的方法,總結如下:

一,查詢表基本資訊

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的意義是使得結果按照設計資料結構時的順序顯示。

二,查詢表主鍵

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、查詢表的所有索引(包括索引名,型別,構成列):

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、查詢表的主鍵(包括名稱,構成列)表名大寫 :

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、查詢表的唯一性約束(包括名稱,構成列):

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 = 要查詢的表

oracle資料庫員工表查詢

孟子辰 2016 11 28 10 13 1 請從表emp中查詢工種是職員clerk或經理manager的雇員姓名 工資。select ename,sal from emp where job clerk or job manager 2 請在emp表中查詢部門號在10 30之間的雇員的姓名 部門號...

oracle 資料庫表結構查詢

oracle查詢使用者所有表的語句 select from all tab comments 查詢所有使用者的表,檢視等 select from user tab comments 查詢本使用者的表,檢視等 select from all col comments 查詢所有使用者的表的列名和注釋.s...

資料庫 oracle查詢表資訊

修改資料庫中一張表指定欄位的資料,該字段在其他表中也存在,需要同步修改 此時需要統計資料庫中所有包含該字段的表。獲取表字段 select from user tab columns where table name 使用者表 獲取表注釋 select from user tab comments w...