贫道2018年1月正式出道,可以说在IT界我就是个菜鸟。但我有着一颗不服输的心,我相信我会在这条路走上巅峰之道的。下面我来写我的第一份学习笔记:

介绍:大多数公司都有自己的数据文档,估计大多数都是用PowerDesigner、T4等写的吧,不知道有没有用线上的。在这我用SQL+MVC 写了个连接数据库的数据文档:

分为两个:

一、只读模式

主用sql语句:

查询数据库所有表:select name as tableName from sys.tables order by name

查询数据库表的描述:select a.name AS tname,isnull(g.[value],'-') AS destb from sys.tables a left join sys.extended_properties g on (a.object_id = g.major_id AND g.minor_id = 0) where a.name='表名'

查询表的字段详情说明等:

SELECT
col.name AS name ,
ISNULL(ep.[value], '') AS descript,
t.name AS datatype ,
CASE WHEN EXISTS ( SELECT 1
FROM dbo.sysindexes si
INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id
AND si.indid = sik.indid
INNER JOIN dbo.syscolumns sc ON sc.id = sik.id
AND sc.colid = sik.colid
INNER JOIN dbo.sysobjects so ON so.name = si.name
AND so.xtype = 'PK'
WHERE sc.id = col.id
AND sc.colid = col.colid ) THEN '1'
ELSE ''
END AS iskey ,
CASE WHEN col.isnullable = 1 THEN '1'
ELSE ''
END AS isempty ,
ISNULL(comm.text, '') AS defult
FROM dbo.syscolumns col
LEFT JOIN dbo.systypes t ON col.xtype = t.xusertype
inner JOIN dbo.sysobjects obj ON col.id = obj.id
AND obj.xtype = 'U'
AND obj.status >= 0
LEFT JOIN dbo.syscomments comm ON col.cdefault = comm.id
LEFT JOIN sys.extended_properties ep ON col.id = ep.major_id
AND col.colid = ep.minor_id
AND ep.name = 'MS_Description'
LEFT JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id
AND epTwo.minor_id = 0
AND epTwo.name = 'MS_Description'
WHERE obj.name = '{0}'--表名
ORDER BY col.colorder ;

二:可更改表及字段的说明详情 (有权限者拥有)

主用的sql:

新增表说明:EXECUTE sp_addextendedproperty N'MS_Description', N'描述', N'user', N'dbo', N'table', N'表名', NULL, NULL

修改表说明:EXECUTE sp_updateextendedproperty N'MS_Description', N'描述', N'user', N'dbo', N'table', N'名', NULL, NULL

新增字段说明:EXECUTE sp_addextendedproperty N'MS_Description', N'描述', N'user', N'dbo', N'table', N'表名', N'column', N'字段名'

修改字段说明:sp_updateextendedproperty N'MS_Description', N'描述', N'user', N'dbo', N'table', N'表名', N'column', N'字段名'

代码十分简单,操作也是十分的简单,只需要配置一下连接即可,如下简单配置

Of course, if you have a better and easier way to share it with me.

  • This is my first note, thank you !

Online database documentation.的更多相关文章

  1. Oracle Database Documentation

    Oracle数据库的发展简史 ORDBMS对象-关系数据库管理系统 Oracle Schema Objects Oracle Schema Objects——Tables——Overview of T ...

  2. 【原】Configuring Oracle Data Guard In Physical Standby Database

    作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...

  3. P6 EPPM Manual Installation Guide (Oracle Database)

    P6 EPPM Manual Installation Guide (Oracle Database) P6 EPPM Manual Installation Guide (Oracle Databa ...

  4. P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

    P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May ...

  5. GitHub: Oracle RAC Database on Docker 未测试 改天试试

    https://github.com/oracle/docker-images/blob/master/OracleDatabase/RAC/OracleRealApplicationClusters ...

  6. Vertica 导出数据测试用例

    需求:构建简单的测试用例,完成演示Vertica导出数据的功能. 测试用例:导出test业务用户t_jingyu表中的数据. 一.初始化测试环境 二.导出数据 2.1 vsql命令说明帮助 2.2 导 ...

  7. P6 EPPM Installation and Configuration Guide 16 R1 April 2016

    P6 EPPM Installation and Configuration Guide 16 R1         April 2016 Contents About Installing and ...

  8. 在树莓派上安装leanote

    作者:冥王星 "noright0@163.com" 前言 宿舍有个树莓派2B,连接到电视机,安装OSMC系统,USB接口连接移动硬盘一块,平时用来BT下载和看电影.美剧. OSMC ...

  9. Gazebo機器人仿真學習探索筆記(七)连接ROS

    中文稍后补充,先上官方原版教程.ROS Kinetic 搭配 Gazebo 7 附件----官方教程 Tutorial: ROS integration overview As of Gazebo 1 ...

随机推荐

  1. tcp为什么要三次握手,而不能二次握手?

    谢希仁版<计算机网络>中的例子是这样的,"已失效的连接请求报文段"的产生在这样一种情况下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞 ...

  2. Linux显示用户注册名

    Linux显示用户注册名 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -s Login Name Tty Idle Login Time Of ...

  3. Eclipse设置内存大小

    Eclipse设置内存大小 1.修改Eclipse的配置文件 (1)打开Eclipse目录 (2)以EditPlus打开eclipse.ini,修改"-Xms40m  -Xmx512m&qu ...

  4. MySQL查询所有数据库表出错

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:show tables 错误代码: 1046 No database sel ...

  5. 芝麻HTTP:记scikit-learn贝叶斯文本分类的坑

    基本步骤: 1.训练素材分类: 我是参考官方的目录结构: 每个目录中放对应的文本,一个txt文件一篇对应的文章:就像下面这样 需要注意的是所有素材比例请保持在相同的比例(根据训练结果酌情调整.不可比例 ...

  6. swing 之简单登录窗体实现

    swing之简单登陆窗体的实现 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionLi ...

  7. 谈谈在.NET Core中使用Redis和Memcached的序列化问题

    前言 在使用分布式缓存的时候,都不可避免的要做这样一步操作,将数据序列化后再存储到缓存中去. 序列化这一操作,或许是显式的,或许是隐式的,这个取决于使用的package是否有帮我们做这样一件事. 本文 ...

  8. springboot--springboot+mybatis多数据源最简解决方案

    说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解 ...

  9. [Luogu4230]连体病原体

    题面戳我 sol 很好想+很好写的一道题,然而比赛中我还是没有切掉qaq. LCT 枚举左端点\(i\),向右移动右端点指针\(j\)找到第一个成环的位置.此时\([i,j],[i,j+1]...[i ...

  10. 牛刀小试——记一次帮朋友小幅优化SQL

    和一个小朋友聊天,小朋友愁眉苦脸,不爱说话,我问怎么了,他说:经理交代的一个任务完成不了.我问:什么任务?他说:程序里的一个功能对应的SQL,太慢了.我问:现在性能是什么样?他说:一分钟.我问:达到什 ...