转载Sql 获取数据库所有表及其字段名称,类型,长度
Posted 新西兰程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转载Sql 获取数据库所有表及其字段名称,类型,长度相关的知识,希望对你有一定的参考价值。
转载原地址
http://www.cnblogs.com/Fooo/archive/2009/08/27/1554769.html
SELECT (case when a.colorder=1 then d.name else \'\' end) 表名, a.colorder 字段序号, a.name 字段名, (case when COLUMNPROPERTY( a.id,a.name,\'IsIdentity\')=1 then \'√\'else \'\' end) 标识, (case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM sysindexes WHERE (id = a.id) AND (indid in (SELECT indid FROM sysindexkeys WHERE (id = a.id) AND (colid in (SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name) ) ) ) ) ) ) AND (xtype = \'PK\') ) > 0 then \'√\' else \'\' end) 主键, b.name 类型, a.length 占用字节数, COLUMNPROPERTY(a.id,a.name,\'PRECISION\') as 长度, isnull(COLUMNPROPERTY(a.id,a.name,\'Scale\'),0) as 小数位数, (case when a.isnullable=1 then \'√\'else \'\' end) 允许空, isnull(e.text,\'\') 默认值, isnull(g.[value],\'\') AS 字段说明 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 sysproperties g on a.id=g.id AND a.colid = g.smallid --where d.name=\'child\' order by a.id,a.colorder
以上是关于转载Sql 获取数据库所有表及其字段名称,类型,长度的主要内容,如果未能解决你的问题,请参考以下文章
如何选择列出给定 Db 表的所有字段名称及其类型? [复制]