作为后端开发,我们经常需要使用数据库管理工具来操作数据库,比较常用的有Navicat,不过它是收费的。今天给大家分享一款达梦官方出品的国产数据库管理工具SQLark,内置的AI助手开箱即用,完全不用自己配模型,最近刚发布了V4.0版本,堪称AI版的Navicat,希望对大家有所帮助!
SQLark简介
SQLark(百灵连接)是达梦数据库官方出品的数据库开发和管理工具,面向信创应用开发者,用于快速查询、创建和管理不同类型的数据库系统。
它的核心特性如下:
- 支持达梦DM、Oracle、MySQL、PostgreSQL四种数据库,对象管理、SQL编辑、导入导出等功能对标Navicat;
- 内置小百灵AI助手,代码解释、报错分析、代码生成、SQL优化开箱即用,无需自己配置API Key;
- 全平台覆盖Windows、macOS、Linux,麒麟、统信UOS以及鲲鹏、飞腾等ARM国产环境也都适配了,信创环境下基本不用担心装不上;
- 提供数据生成、ER图、执行计划分析等特色功能;
- V4.0版本重构了底层框架,引入多级缓存和Canvas渲染,对象操作、查询执行、表数据浏览的流畅度都有明显提升。
下面是它的界面效果图,整体观感还是比较现代化的!

安装
这里以Windows环境为例,介绍下SQLark的安装。
- 首先访问SQLark官网的下载页面,可以看到它针对Windows、macOS、Linux分别提供了安装包,我们这里下载Windows版本,下载地址:www.sqlark.com/download

- 下载完成后双击文件进行安装,安装完成后双击
SQLark.exe文件即可打开应用,打开后界面效果如下;

- 之后就可以连接数据库了,点击工具栏的
连接按钮,数据库选择MySQL,填写主机、端口、用户名和密码,点击左下角的测试连接,显示测试成功后点击连接即可。

使用
下面我们基于MySQL连接来体验下SQLark的功能,演示用到的数据库是mall商城项目的数据库。
小百灵AI
- 小百灵AI是SQLark内置的AI助手,点击右上角的
小百灵AI按钮就能打开它的对话窗口,窗口中直接给出了多个快捷入口,我们主要用到其中的代码解释、报错分析、代码生成、SQL优化这四个,点一下就能用;最方便的一点是它已经内置了模型,在对话框底部还能直接切换模型,不需要自己去申请API Key;

- 先看下
代码解释,mall里的订单表用了很多数字型的状态字段,接手别人的SQL时往往不知道status = 1到底代表什么,此时选中下面这段SQL,按Ctrl+B或者右键选择问AI,小百灵会结合字段注释把每一段逻辑都解释清楚;
sql
SELECT o.order_sn, o.member_username, o.pay_amount, oi.product_name, oi.product_quantity
FROM oms_order o
LEFT JOIN oms_order_item oi ON oi.order_id = o.id
WHERE o.status = 1 AND o.delete_status = 0;

- 接着看下
报错分析,我们执行一段统计会员消费金额的SQL,由于查询列没有全部出现在GROUP BY中,MySQL会报ONLY_FULL_GROUP_BY错误,直接点击执行消息区报错语句旁的问AI按钮,它会结合错误码和执行的代码定位到only_full_group_by这个原因,并给出修复后的语句;
sql
SELECT member_username, order_sn, SUM(pay_amount)
FROM oms_order
GROUP BY member_username;

- 要写新SQL也不用自己敲,用
代码生成直接描述需求就行,比如"统计每个会员的订单数量和实付总金额,排除已删除的订单,按实付金额倒序取前10条",小百灵会自动关联当前数据库的表结构来生成SQL,生成后的代码支持一键复制、插入到光标处或者在新查询窗口中打开;

- 最后看下
SQL优化,mall的oms_order表只建了主键索引,而下面这段SQL又在create_time上套了函数,数据量上来之后就是一次全表扫描,选中后用SQL优化,小百灵不仅会指出函数导致无法走索引的问题,还会把改成范围查询的写法给出来,排查慢查询时挺方便的。
sql
SELECT * FROM oms_order WHERE DATE(create_time) = '2018-09-15';

模式过滤
- V4.0新增了模式过滤功能,当数据库中的模式比较多时,可以在对象导航中只展示自己常用的模式,减少无关模式的干扰(在MySQL中模式即数据库);

- 配置好之后,在SQL代码提示等场景中就会优先展示已选库/模式下的对象。

表结构与表数据联动查看
- 平时改表结构的时候,经常需要对照真实数据来确认字段该怎么调整,V4.0新增了表结构与表数据页面之间的快速切换,浏览数据时也能一键跳回去确认字段定义。

按表注释搜索
- 在
查看全部表页面中可以快速搜索定位目标表,V4.0新增了按表注释搜索,我们平时未必记得住表名,但对业务描述往往有印象,用注释来搜就方便多了。这个页面的搜索机制在V4.0中也从实时查询改为了基于缓存查询,官方给出的数据是在8万多张表的规模下,搜索耗时从4.1秒缩短到了250毫秒。

保存查询分组管理
- SQLark支持把高频使用的SQL脚本保存到对应连接下的查询文件夹中,V4.0新增了分组和排序功能,可以按业务模块、执行频率等维度来分类管理,支持自定义分组,也支持拖拽或批量移动查询到指定分组,查询脚本比较多的时候好找多了。

数据生成
- 数据生成算是SQLark比较有特色的功能,可以用来构造千万级甚至亿级的仿真测试数据,做POC测试或者压测时很实用;

- 它内置了常规、时间、人员、支付、商业、位置、产品、电脑8大类共49种子类规则,姓名、身份证号、手机号、省市区、IP地址这些都能直接生成,而且会根据列名、列注释和字段类型自动匹配规则并生成预览数据,基本不用怎么手动配置,还支持多表同时生成以及保存配置文件复用。

ER图
- SQLark支持按数据库、模式或表来逆向生成ER图,表之间的关联关系一目了然,梳理老项目的表结构时很有帮助;

- 生成的ER图支持导出为PNG图片,也支持按分组导出多张图,更实用的是它可以直接导出数据库设计文档,写设计文档时直接拿来用就行。

总结
今天分享的SQLark体验下来,最惊喜的还是内置的小百灵AI,不用自己配模型就能解释SQL、分析报错;再加上V4.0这次的性能优化,日常开发确实顺手了不少,感兴趣的小伙伴可以尝试下它!