sql語句查詢資料庫表結構資訊

2021-09-06 17:48:41 字數 3006 閱讀 1930

開發中經常用到查詢指定表及其欄位的資訊,以下是我整理的sql語句查詢方法,供自己平時使用也提供給大家參考!

1.適用ms sql server:

1

select

2 表名 = case when a.colorder=1 then d.name else

''end,

3 表說明 = case when a.colorder=1 then isnull(f.value,'') else

''end,

4 字段序號 =a.colorder,

5 欄位名 =a.name,

6 標識 = case when columnproperty( a.id,a.name,'

isidentity

')=1 then '√'

else

''end,

7 主鍵 = case when exists(select 1 from sysobjects where xtype='

pk' and parent_obj=a.id and name in

(8 select name from sysindexes where indid in

(9 select indid from sysindexkeys where id = a.id and colid=a.colid))) then '√'

else

''end,

10 型別 =b.name,

11 占用位元組數 =a.length,

12 長度 = columnproperty(a.id,a.name,'

precision'),

13 小數字數 = isnull(columnproperty(a.id,a.name,'

scale

'),0

),14 允許空 = case when a.isnullable=1 then '√'

else

''end,

15 預設值 = isnull(e.text,''

),16 字段說明 = isnull(g.[value],'')17

from

18syscolumns a

19left join

20systypes b

21on

22 a.xusertype=b.xusertype

23inner join

24sysobjects d

25on

26 a.id=d.id and d.xtype='

u' and d.name<>'

dtproperties'27

left join

28syscomments e

29on

30 a.cdefault=e.id

31left join

32sys.extended_properties g

33on

34 --a.id=g.id and a.colid=g.smallid

35 a.id=g.major_id and a.colid=g.minor_id

36left join

37sys.extended_properties f

38on

39 --d.id=f.id and f.smallid=0

40 d.id=f.major_id and f.minor_id=0

41where

42 d.name='

表名' --如果只查詢指定表,加上此條件

43order by

44 a.id,a.colorder

2.適用oracle:

1

select

2 user_tab_cols.table_name as

表名,3 user_tab_comments.comments as

表備註,

4 user_tab_cols.column_id as

列序號,

5 user_col_comments.comments as

列備註,

6 user_tab_cols.column_name as

列名 ,

7 user_tab_cols.data_type as

資料型別,

8 user_tab_cols.data_length as

長度,9 user_tab_cols.nullable as

是否為空,

10 user_cons_columns.constraint_name as

約束名,

11 user_constraints.constraint_type as

主鍵12

from user_tab_cols inner join user_col_comments on

13 user_col_comments.table_name=user_tab_cols.table_name

14 and user_col_comments.column_name=user_tab_cols.column_name

15 inner join user_cons_columns on user_cons_columns.table_name=user_tab_cols.table_name

16 inner join user_constraints on user_constraints.table_name=user_tab_cols.table_name and user_constraints.constraint_name=user_cons_columns.constraint_name

17 inner join user_tab_comments on user_tab_cols.table_name=user_tab_comments.table_name

18 where user_tab_cols.table_name='表名'

19 order by user_tab_cols.table_name

原文其它**:

使用SQL語句查詢資料庫資訊及表結構

查詢資料庫系統中的所有資料庫 select from master.sysdatabases 查詢資料庫中的所有物件 select from 庫名.sysobjects 查詢資料庫中的所有使用者表 select from 庫名.sysobjects where xtype u 查詢資料表的結構 ex...

sql 查詢資料庫表結構

1 查詢非系統資料庫 2select name from master.sysdatabases where dbid 43 4 選擇water資料庫下的所有表 5use water select name from sysobjects where xtype u or xtype s 67 選擇...

sql查詢資料庫的表資訊

1.查詢資料庫中的所有資料庫名 select name from master.sysdatabases order by name 2.查詢某個資料庫中所有的表名 select name from sysobjects where xtype u order by name 讀取庫中的所有表名 c...