應公司要求將資料庫結構用**形式來展示給客戶,最開始我手工弄了兩張表效率實在太低了,於是就想偷懶了,就去網上找了一段兒sql查詢語句效率提高了70%一執行就出來了,匯出查詢結果剩下的就只需要調整一下excel
select表名 = case when a.colorder=1 then d.name else
''end,
表說明 = case when a.colorder=1 then isnull(f.value,'') else
''end,
字段中文名稱 = isnull(g.[value],''
), 字段英文名稱 =a.name,
型別 =b.name,
長度 = columnproperty(a.id,a.name,'
precision'),
--主鍵 = 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 '1'
else'0
'end,
允許空=case when a.isnullable=1 then '1'
else'0
'end
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
order by a.id,a.colorder,d.name
所以該偷懶還是要偷懶,記錄一下以後有機會給它寫成乙個工具。至於處於**我不小心關了頁面(對不起了!博主,無意冒犯)
PG匯出表結構為Excel
如下圖sql所示 select a.attnum as 序號,這裡是表描述,原本新建資料庫的時候沒有新增表描述,查詢出來會為空,注釋掉就好,有表描述的放開這條注釋 a.attname as 欄位名稱,concat ws t.typname,substring format type a.atttyp...
機房收費系統 查詢並匯出Excel表
15 30 時間過的很快,但是自己的進度確實有夠慢的,很多同學已經開始進入到軟工了,自己還為機房收費系統苦惱著。雖然進度很慢,但是每每解決乙個問題都很興奮。開始都說,只要參考學生資訊管理系統敲就行了,但是壓根就沒有思路,但是現在,只要解決乙個,下乙個就會有些思路,久而久之,突然感覺有很多相似的窗體,...
MySQL表結構匯出Excel
在寫設計文件時,需要把mysql中的表結構按要求匯出。mysql客戶端預設的字段不滿足需求時,可通過mysql的information schema.columns表,查詢並按需求匯出字段。information schema.columns表記錄了所有庫中所有表的字段資訊,如下 字段具體意義如下 ...