MSSQL 獲取所有表及字段定義

2022-02-20 15:46:17 字數 1263 閱讀 8725

select

表名=case when a.colorder=1 then d.name else '' end,

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

字段序號=a.colorder,

欄位名=a.name,

標識=case when columnproperty( a.id,a.name,'isidentity')=1 then '√'else '' end,

主鍵=case when exists(

select 1 from sysobjects where xtype='pk' and name in (

select name from sysindexes where indid in(

select indid from sysindexkeys where id = a.id and colid=a.colid

)) ) then '√' else '' end,

型別=b.name,

占用位元組數=a.length,

長度=columnproperty(a.id,a.name,'precision'),

小數字數=isnull(columnproperty(a.id,a.name,'scale'),0),

允許空=case when a.isnullable=1 then '√'else '' end,

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

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

from syscolumns a

left join systypes b on a.xusertype=b.xusertype

inner join sysobjects d on a.id=d.id and d.xtype='u' and d.name<>'dtproperties'

left join syscomments e on a.cdefault=e.id

left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id

left join sys.extended_properties f on d.id=f.major_id and f.minor_id=0

--where d.name='orders' --如果只查詢指定表,加上此條件

order by a.id,a.colorder

Mssql 根據表名查詢所有字段資訊

select 表名 case when a.colorder 1 then d.name else end,表說明 case when a.colorder 1 then isnull f.value,else end,字段序號 a.colorder,欄位名 a.name,標識 case when ...

oracle檢視所有表及字段

oracle表設計 oracle檢視所有表和字段 獲取表 select table name from user tables 當前使用者的表 select table name from all tables 所有使用者的表 select table name from dba tables 包括...

PostgreSQL獲取所有的表資訊 字段資訊

獲取資料庫中所有table名 select tablename from pg tables where tablename not like pg and tablename not like sql order by tablename 獲取資料庫中所有table名及table的註解資訊 sel...