SqlServer表结构查询
发布时间:2020-12-12 14:19:51 所属栏目:MsSql教程 来源:网络整理
导读:Mysql数据库查询表结构很方便,用客户端(SQLyog)可以直接复制出需要的表结构,据说可以用简单的命令查询表结构 desc 表结构 Sqlserver导出表结构就很坑爹了,首先呢客户端不支持,表设计页面虽说可以复制表结构但是不包含字段注释,想想这种场景应该很常见
Mysql数据库查询表结构很方便,用客户端(SQLyog)可以直接复制出需要的表结构,据说可以用简单的命令查询表结构 desc 表结构 Sqlserver导出表结构就很坑爹了,首先呢客户端不支持,表设计页面虽说可以复制表结构但是不包含字段注释,想想这种场景应该很常见不可能没有解决方案的,于是在网上发现了一段脚本,稍加调整就可以查询出需要的表结构 脚本及查询示例 SELECT 表名 = CASE WHEN a.colorder = 1 THEN d.name ELSE ‘‘ END,字段说明 = ISNULL(g.[value],‘‘),字段名 = a.name,类型 = CASE WHEN b.name IN ( ‘varchar‘,‘nvarchar‘ ) THEN b.name + ‘(‘ + CAST(COLUMNPROPERTY(a.id,a.name,‘PRECISION‘) AS VARCHAR(4)) + ‘)‘ WHEN b.name = ‘decimal‘ THEN b.name + ‘(‘ + CAST(COLUMNPROPERTY(a.id,‘PRECISION‘) AS VARCHAR(4)) + ‘,‘ + CAST(COLUMNPROPERTY(a.id,‘Scale‘) AS VARCHAR(4)) + ‘)‘ ELSE b.name END FROM syscolumns a -- 列名 LEFT JOIN systypes b ON a.xusertype = 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 --扩展属性(表说明) WHERE d.name = ‘SCM_Module‘ --可修改表名 ORDER BY a.id,a.colorder (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |