使用SQL语句查询表及表字段类型说明
今天突然遇到有人要数据库表及表字段说明,数据库表太多又不能一个个表去找,就想想SQL是否能直接查询出来。
经过查询资料,加上一些自己的一些调整写了一个sql语句,在此记录一下,以方便日后查找使用。
SELECT ( CASE WHEN a.colorder = 1 THEN d.name
ELSE ''
END ) N'表名' ,
( CASE WHEN a.colorder = 1 THEN ISNULL(h.value, '')
ELSE ''
END ) N'表说明' ,
a.colorder N'字段序号' ,
a.name N'字段名' ,
( CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN '√'
ELSE ''
END ) N'标识' ,
( 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 ) N'主键' ,
b.name N'类型' ,
a.length N'占用字节数' ,
COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS N'长度' ,
ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS N'小数位数' ,
( CASE WHEN a.isnullable = 1 THEN '√'
ELSE ''
END ) N'允许空' ,
ISNULL(e.text, '') N'默认值' ,
ISNULL(g.[value], '') AS N'字段说明'
FROM sys.syscolumns a
LEFT JOIN sys.systypes b ON a.xtype = b.xusertype
INNER JOIN sys.sysobjects d ON a.id = d.id
AND d.xtype = 'U'
AND d.name <> 'dtproperties'
LEFT JOIN sys.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
--AND g.name='MS_Description'
LEFT JOIN sys.extended_properties h ON h.major_id = a.id
AND h.minor_id = 0
AND h.name = 'MS_Description' --表扩展属性 名称
ORDER BY OBJECT_NAME(a.id) ,
a.colorder;
补充一些表及表及字段描述增删改SQL操作语句:
--表(Department) /******添加********/
--为表添加描述信息
execute sys.sp_addextendedproperty N'MS_Description',N'部门表',N'Schema',N'dbo',N'table',N'Department',null,null
go
--为字段添加描述信息
execute sys.sp_addextendedproperty N'MS_Description',N'部门表ID',N'Schema',N'dbo',N'table',N'Department',N'column',N'D_Remark'
go
/******添加********/ /******修改********/
--把表 Department 的扩展属性(表的描述)原值 ‘部门表’改为 ‘部门表测试修改’
execute sp_updateextendedproperty N'MS_Description',N'部门表测试修改',N'Schema',N'dbo',N'table',N'Department',null,null --把表 Department 的列 D_Remark 的扩展属性(列的描述)原值 ‘部门描述’改为 ‘部门详细描述’
execute sp_updateextendedproperty N'MS_Description',N'部门详细描述',N'Schema',N'dbo',N'table',N'Department',N'column',N'D_Remark'
/******修改********/ /******删除********/
--删除表 Department 的扩展属性(表的描述)
execute sp_dropextendedproperty N'MS_Description',N'Schema',N'dbo',N'table',N'Department',null,null --删除表 Department 的列 D_Remark 的扩展属性(列的描述)
execute sp_dropextendedproperty N'MS_Description',N'Schema',N'dbo',N'table',N'Department',N'column',N'D_Remark'
/******删除********/
使用SQL语句查询表及表字段类型说明的更多相关文章
- MSSQL 如何采用sql语句 获取建表字段说明、字段备注、字段类型、字段长度
转自: http://www.maomao365.com/?p=4983 <span style="color:red;font-weight:bold;">下文讲述- ...
- SQL Server查询数据库表字段类型
select b.name,a.name,c.name,a.xprec,a.xscalefrom syscolumns aleft outer join sysobjects b ON a.id=b ...
- atitit查询表修改表字段没反应--解锁锁定的表
atitit查询表修改表字段没反应--解锁锁定的表 查询表修改表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweix ...
- atitit查询表改动表字段没反应--解锁锁定的表
atitit查询表改动表字段没反应--解锁锁定的表 查询表改动表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweix ...
- SQL语句查询表结构
SQL语句查询表结构 刚刚在做一个小项目,数据库中一张表有20来个字段,用我以前做的一个.NET实体类生成器一个一个的输入还是闲麻烦,于是打算找个时间来重新的改造一个那个.NET实体类,能够通过选 ...
- Oracle sql语句中不支持boolean类型(decode&case)
[转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...
- Access sql语句创建表及字段类型
创建一张空表: Sql="Create TABLE [表名]" 创建一张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NUL ...
- SQL语句 & 查询表结构
[group by] 对结果集进行分组,常与汇总函数一起使用. SELECT column,SUM(column) FROM table GROUP BY column HAVING 通常与 GROU ...
- Access sql语句创建表及字段类型(转)
http://www.cnblogs.com/hnyei/archive/2012/02/23/2364812.html 创建一张空表: Sql="Create TABLE [表名]&quo ...
随机推荐
- vs2008 点击"转到定义"为什么是"未定义符号"
1.有可能是VA未安装正确,但是我遇到的情况是我的VA安装正确的. 2.我的解决办法:删掉工程的.ncb文件后重新编译即可:以前也遇到过断点打不上去的事情,也是删掉.ncb后重新编译就可以了. 附带一 ...
- MacBook Home End
For the Home command, press down the Fn + Left Arrow keystroke combination. For the End command, pre ...
- MIUI6系统详细卡刷开发版获得root权限的经验
小米的手机不同手机型号通常情况miui论坛都提供两个不同的版本,分别为稳定版和开发版,稳定版没有提供ROOT权限管理,开发版中就开启了ROOT权限,很多情况下我们需要使用的一些功能强大的App,都需要 ...
- 三、CSS样式——文本
CSS文本 概念:CSS文本属性可定义文本外观 通过文本属性,可以改变文本的颜色.字符间距.对齐文本.装饰文本.对文本缩进 属性 描述 color 文本颜色 direction 文本方向 line-h ...
- Pycharm去掉项目所有 # 注释
通过快捷键ctrl+shift+R 进入 项目全局替换窗口,点击右上角 勾选正则,然后 搜索框输入 (#.*) 即可 ,然后点击 replace all 去掉所有注释
- mysql 多行(GROUP_CONCAT)和多列(CONCAT)的合并函数
1,多行合并:把查询的一行或者多行进行合并. SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id ...
- Linux系统上面使用python切割nginx日志
#!/usr/bin/python import time import os import commands path = ['/var/log/nginx/', 'access.log'] (nu ...
- Linux环境安装、卸载Docker
安装: 1.Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker 2.更新yum包:sudo yum update 3. ...
- 在Airtest中如何使用无线模式控制手机
在使用Airtest超快速开发App爬虫文章的最后,我们留了一个尾巴:如何启动Airtest的无线模式,不用USB线就能控制手机? 本文将会讲到具体的做法.做法分为两种:第一种是在Airtest的ID ...
- MongoDB(1)--MongoDB安装及简介
一.MongoDB的应用场景及实现原理二.MongoDB的常用命令及配置三.手写基于MongoDB的ORM框架四.基于MongoDB实现网络云盘实战五.MongoDB 4.0新特性 一.MongoDB ...