获取MSSQL所有数据库名、所有表名、所有字段名

①.获取所有库名

select name from master..sysdatabases order by name

②.获取指定库所有表名

select name from sysobjects where xtype='U' order by name

XType='U':表示所有用户表; XType='S':表示所有系统表;

③.获取指定表所有字段名

select name from syscolumns where id=Object_Id('TableName')

④.获取指定表主键,所有字段数据类型、长度、允许空、默认值、说明

Select
a.Name as Caption, --列名
(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 1 else 0 end) as IsPrimaryKeyMember, --主键
b.name as DataType, --数据类型
a.Length as [Size], --长度
(case when a.isnullable=1 then 1 else 0 end) as AllowDBNull, --允许空
isnull(e.text,'') as DefaultValue, --默认值
isnull(g.[value],'' ) AS Description --说明
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
Where d.name='Person'
orDER BY a.id,a.colorder


上一篇: GridView使用案例
下一篇: Visual Studio 2005数据绑定控件比较
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4429
发表评论
登录后再发表评论!