SmartSQL:不装数据库客户端,一个 exe 直接查数据库结构
项目做了大半年,数据库里有几十张表,字段又多又杂。交接的时候对方问:“这张表是干什么用的?” "这个字段为什么要允许 NULL?"你支支吾吾翻代码,查了半天也说不清楚。
更头疼的是,每次新来一个项目,首先要花大量时间熟悉数据库结构——字段什么意思、表之间什么关系、存储过程逻辑是什么。文档要么根本没有,要么写了一次再也没更新过,和实际数据库完全对不上。
这些问题,一个工具就能解决——它叫 SmartSQL。
SmartSQL 是一款基于 WPF 构建的数据库文档查询和生成工具,采用 Apache 2.0 开源协议,.NET 4.7.2 环境,Windows 10/11 即可运行。核心理念是:连接数据库,一键生成可维护的离线文档。
你只需要告诉它数据库连接字符串,它就能把整个数据库的结构:表、视图、存储过程、字段、注释——全部提取出来,按照你想要的格式导出成文档。
支持六种主流数据库:
支持八种导出格式:CHM、Word、Excel、PDF、Html、Xml、Json、MarkDown。
不装任何数据库客户端,不装 Office,直接一个 exe,连接数据库,点几下鼠标,文档就出来了。

第一步:下载运行
直接从 Github Releases 下载最新版,解压后双击 SmartSQL.exe 即可运行,不需要安装。
下载地址:
https://github.com/Smart-Kit/SmartSql
https://gitee.com/dotnetchina/SmartSQL/releases
第二步:添加数据库连接
点击左侧"连接管理",选择数据库类型(SQL Server / MySQL / Oracle 等),填入连接信息,测试连接成功后保存。

第三步:浏览和编辑注释
连接成功后,左侧树形结构展示所有表、视图、存储过程。点击任意对象,右侧主界面显示详细信息。
SmartSQL 最有价值的功能之一是直接在界面上编辑字段和表的注释——双击备注列的单元格,输入注释,保存即可。不需要写 SQL,不需要打开数据库管理工具。
第四步:分组管理
如果数据库表很多,可以利用"分组管理"功能对表、视图、存储过程做自定义分组。
比如按业务模块分:用户相关、订单相关、财务相关。或者按用途分:基础数据、业务表、日志表。分组支持拖拽排序,常用分组可以默认展开,不常用默认折叠。
第五步:导出文档
选择要导出的对象(单个表、整个分组、或者全部),选择导出格式,点击导出。
导出的文档内容包含:表的完整字段信息(序号、列名、主键、自增、数据类型、长度、允许NULL值、默认值、备注说明),以及视图和存储过程的 SQL 脚本。

SmartSQL 支持八种导出格式,各有适用场景:
| CHM | ||
| Word | ||
| Excel | ||
| Html | ||
| Xml | ||
| Json | ||
| MarkDown |
特别提一下 MarkDown 格式——对于使用 Git 管理文档的团队来说,导出为 MD 文件直接提交到仓库,每次数据库结构变更时更新文档,代码审查和文档变更记录一目了然。
很多老项目的问题是:数据库里字段没有注释,或者注释和代码完全对不上。
SmartSQL 支持从多种来源批量导入注释,解决历史遗留问题:
PowerDesigner PDM 文件:很多团队用 PowerDesigner 设计数据库时生成的 .pdm 文件,包含了完整的表和字段注释。直接导入,注释自动填充到数据库对应字段。
Visual Studio XML 文档:C# 项目启用"XML 文档文件"选项后,编译会生成一份 XML 文件,记录了实体类的属性和注释。SmartSQL 可以解析这份 XML,匹配到对应的数据库表字段。
SmartSQL 导出的 XML:之前用 SmartSQL 导出的 XML 文件,可以再导入回去,用于迁移或备份注释数据。

对于临时需要了解数据库结构的场景,SmartSQL 提供了快捷查询能力。
左侧菜单支持快速检索对象——输入表名的前缀或关键字,瞬间定位目标表。
右侧主界面也支持快速检索,搜索范围覆盖表、列、视图、存储过程。
对视图和存储过程,支持一键查看内容结构、一键复制 SQL 脚本到剪贴板。不用打开 SSMS,不用写查询语句。
SmartSQL 还有一个"工具箱"模块,集成了日常数据库开发中的高频小工具:
SQL 脚本收藏夹:将常用的 SQL 查询语句保存为模板,随用随取,不用每次重新编写。
批量表名重命名:数据库重构时,可以批量修改表名前后缀,一个操作顶几十次手动修改。
快捷键自定义:将常用操作绑定到快捷键上,进一步提升操作效率。
工具箱的设计思路是把高频但分散的小操作集中到一个入口,减少在多个工具之间来回切换的成本。
项目交接:每次团队人员变动,最难交接的就是数据库结构。SmartSQL 5 分钟生成一份完整数据字典,交接文档立等可取。
项目启动:接手一个新项目,先用 SmartSQL 导出文档,快速熟悉数据库全貌,比逐个表翻代码效率高得多。
文档归档:将数据库结构文档作为项目文档的一部分定期更新,解决"文档落后于实际"的老大难问题。
甲方的需求:很多甲方在项目验收时要求提供数据字典和数据库说明文档,SmartSQL 可以一键生成符合交付标准的 PDF 或 Word 文档。
数据库文档这件事,技术含量不高,但特别费时间,还特别容易遗漏和过时。
SmartSQL 解决的不是高深的算法问题,而是一个所有人都知道要做、但很少有人真正做好的基础工作——让数据库结构可查询、可维护、可传承。
一个 exe 文件,不需要安装,不需要数据库客户端,连接数据库五分钟出文档——这件事本身,就值得收藏备用。
阅读原文:原文链接