完美替代 Navicat!这款内置 AI 的数据库工具,太香了!

作为后端开发,我们经常需要使用数据库管理工具来操作数据库,比较常用的有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这次的性能优化,日常开发确实顺手了不少,感兴趣的小伙伴可以尝试下它!

下载地址

www.sqlark.com/

相关推荐
世界哪有真情1 小时前
AI 写代码两年多,我发现自己越来越"看不进去"了
前端·后端·ai编程
星栈1 小时前
被 Rust async 纠正的三个异步认知
前端·后端·rust
夏雪coding1 小时前
openpyxl 对账实战:金额浮点、前导零丢失、20 位单号科学计数法
人工智能·后端
程序员老赵1 小时前
Docker 部署 ZLMediaKit:轻松搭建高性能流媒体服务平台
前端·javascript·后端
SamDeepThinking1 小时前
从REST到gRPC,一个API选型的思考框架
java·后端·程序员
Zane19941 小时前
接口都能写默认实现了,为什么还需要抽象类
java·后端
未秃头的程序猿1 小时前
读Spring AI源码的方法——不是硬啃,是带着问题去翻
java·后端·spring
liuxiaocheng1 小时前
上下文工程:LangChain 怎么组织「喂给模型的东西」
前端·后端
盖伦发发1 小时前
RAG 能跑≠能用:用 EDD 把 Eval 做成基础设施 (附源码)
人工智能·后端·python·功能测试