用SQL语句来查询表结构!

刚刚在做一个小项目,数据库中一张表有20来个字段,用我以前做的一个.NET实体类生成器一个一个的输入还是闲麻烦,于是打算找个时间来重新的改造一个那个.NET实体类,能够通过选择的数据库及用户表自动生成实体类,而且该实体类还有注释,即字段的说明字段,然后再加一个功能,生成数据库文档,其实也就是把字段字,类型,字段说明输出一个漂亮的表格而已,只要能获取出来生成HTML表格就比较容易了,上网找了一下,得到如下有用的SQL语句:
--  查询非系统数据库
Select  name  FROM  Master.. SysDatabases  where  dbid > 4

--  选择water数据库下的所有表
use   [ water ]   SELECT  name  FROM  sysobjects  WHERE  xtype  =   ' U '   Or  xtype  =   ' S '

--  选择water数据库下的所有用户表
use   [ water ]   SELECT  name  FROM  sysobjects  WHERE  xtype  =   ' U '   AND   OBJECTPROPERTY  (id,  ' IsMSShipped ' =   0

--  查询water数据库下的admin表的字段名,长度,类型,字段说明
use   [ water ]   SELECT  a. [ name ]   as   ' 字段名 ' ,a.length  ' 长度 ' ,c. [ name ]   ' 类型 ' ,e.value  as   ' 字段说明 '   FROM  syscolumns  a 
left     join     systypes    b    on       a.xusertype = b.xusertype 
left       join      systypes     c      on       a.xtype  =  c.xusertype 
inner     join    sysobjects  d    on       a.id = d.id      and    d.xtype = ' U '  
left   join  sys.extended_properties e  on  a.id  =  e.major_id  and  a.colid  =  e.minor_id  and  e.name = ' MS_Description '
where  d.name = ' admin '  

其中sys.extended_properties系统内置视图用于存储字段说明,且只有在MSSQL2005以上才有这张表的,且前面的sys.不能去掉,SQL2000的话字段说明是存在另一个张表里的,表名忘记了,反正我不需要也懒得去查了...
特此记录!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值