用於參考:
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 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(g.[value],'')
from syscolumns a
left join systypes b on a.xtype=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='表名' --如果只查詢指定表,加上此條件
order by a.id
資料字典的匯出sql語句
select c.table name 表明,t.table comment 表備註,c.column name 列名,c.column type 資料型別,c.data type 字段型別,c.character maximum length 長度,c.is nullable 是否為空,c.col...
SQL資料字典
set ansi nulls on set quoted identifier on goalter procedure dbo proc dataselect tabelname varchar 100 asselect tablename o.name,fieldid c.colid,field...
mysql 匯出資料字典
select table catalog,table schema as 資料庫名,table name as 表名,column name as 欄位名,ordinal position as 字段位置,column default as 字段預設值,is nullable 是否允許空值,data...