300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > SqlServer查询出数据库中所有的表及其字段属性

SqlServer查询出数据库中所有的表及其字段属性

时间:2020-02-28 01:21:47

相关推荐

SqlServer查询出数据库中所有的表及其字段属性

代码如下所示:

/*********************************SqlServer查询出数据库中所有的表及其字段属性*********************************/SELECT ( CASE WHEN a.colorder = 1 THEN d.nameELSE ''END ) AS 表名 ,--如果表名相同就返回空 a.colorder AS 字段序号 ,a.name AS 字段名 ,( CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN '√'ELSE ''END ) AS 标识 ,( CASE WHEN ( SELECT COUNT(*)FROMsysobjects--查询主键 WHERE( name IN (SELECT nameFROMsysindexesWHERE( id = a.id )AND ( indid IN (SELECT indidFROMsysindexkeysWHERE( id = a.id )AND ( colid IN (SELECTcolidFROMsyscolumnsWHERE( id = a.id )AND ( name = a.name ) ) ) ) ) ) )AND ( xtype = 'PK' )) > 0 THEN '√'ELSE ''END ) AS 主键 ,--查询主键END b.name AS 类型 ,a.length AS 占用字节数 ,COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS 长度 ,ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小数位数 ,( CASE WHEN a.isnullable = 1 THEN '√'ELSE ''END ) AS 允许空 ,ISNULL(e.text, '') AS 默认值 ,ISNULL(g.[value], '') AS 字段说明FROM syscolumns aLEFT JOIN systypes b ON a.xtype = b.xusertypeINNER JOIN sysobjects d ON a.id = d.idAND d.xtype = 'U'AND d.name <> 'dtproperties'LEFT JOIN syscomments e ON a.cdefault = e.idLEFT JOIN sys.extended_properties g ON a.id = g.major_idAND a.colid = g.minor_idORDER BY a.id ,a.colorder;

查询结果如下图所示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。