V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
javahuang
V2EX  ›  分享创造

推荐一款免费的好用的数据库客户端 sqlzero

  •  
  •   javahuang · 2021-02-17 23:15:34 +08:00 · 5123 次点击
    这是一个创建于 1135 天前的主题,其中的信息可能已经有所发展或是发生改变。

    sqlzero

    支持特性

    • 支持多个数据源,目前已适配 mysql,后续会陆续适配任何支持 jdbc 的数据库
    • 因为是 bs 版的,支持服务端部署,支持账号注册,团队伙伴可以将服务单独部署,支持不同账号权限隔离
    • 支持显示 schema,包含表、视图(后续支持其他),可以显示主键、索引、注释、数据类型
    • 支持数据库连接池,支持多个标签页,每个标签页可以单独开启一个数据库连接
    • 支持 ddl 、多个结果集查询、查询选中、sql 格式化
    • 支持选中运行 sql 、直接运行单个 sql 、运行整个页面 sql
    • 支持分页,自定义分页信息,支持大的结果集展示,实测百万数据显示很平滑
    • 支持右键对结果集排序、筛选、过滤功能
    • 支持单条记录视图模式
    • sql 编辑器支持自动补全,自动补全体验目前比 datagrip 差一丢丢(此处狗头)
    • 支持代码片,比如输入 sel,自动出现 select * from xx,未来也可支持自定义代码片
    • 支持保存查询结果,可以将结果集页面和其他功能模块集成
    • 支持导出结果集,支持导出多个结果集标签到 excel 的多个 sheet,可自定义标签名称(等于 sheet 名称)
    • 提供强大的结果集编辑功能,支持直接在结果集单元格编辑数据,支持新增、修改、删除,并以很友好的方式来标记颜色
    • 支持 tableplus 的方式,使用 ctrl+s/ctrl+z 来提交 /回滚编辑的数据
    • 支持事务的手动提交和自动提交,多个查询结果标签页,支持选中单元格,显示该字段的信息(数据类型、非空信息、注释)
    • 支持 ctrl+表名打开表编辑页面
    • 所有窗口都是响应式的,并且可以打开关闭
    • 支持可视化建表
    • 永远相信美好的事情即将发生(再次狗头)
    • ...

    如何安装

    由于是使用 java 开发的,需要依赖 jre 环境,以可执行 jar 包的方式提供安装包,内置 mysql 数据库驱动目前安装包只有 29M 大小,运行时占用内存可以自己控制,目前我本机测试数据库可以控制在 100M 之内。

    安装非常简单,windows/mac 环境双击直接启动,linux 环境直接 nohup 启动,浏览器访问 http://127.0.0.1:9001 (也可自定义端口)即可运行。

    无需其他任何设置。

    # 直接启动( mac/windows 下也可以直接双击运行)
    ./sqlzero-0.0.1.jar
    # 运行
    http://youipaddress:9001/
    

    sqlzero git 地址

    第 1 条附言  ·  2021-02-18 13:29:59 +08:00
    • 登录注册

      signup

    • 创建连接

      create-connection

    • sql 查询,自动补全

      query

    • 数据编辑

      edit-data

    • 单行记录视图编辑

      inline-edit

    • 多个 tab 结果页

      multi-tab

    • 结果集过滤

      filter-result

    • 事务支持

      transaction

    • 单元格选中信息显示

      cell-select

    • 响应式布局

      responsive-layout

    • 保存查询及跳转,查询历史

      save-query

    • 表设计(部分完成)双击表结果集查询

      schema-view

    • 暗黑主题

      dark-theme

    第 2 条附言  ·  2021-02-20 14:16:15 +08:00
    已上传到 [dockerhub]( https://hub.docker.com/repository/docker/sqlzero/sqlzero), 可以直接通过 `docker run -p 9001:9001 sqlzero/sqlzero` 试用
    34 条回复    2021-02-24 23:05:33 +08:00
    irockytan
        1
    irockytan  
       2021-02-17 23:49:25 +08:00
    看起来不错,还没上传到 Github?
    imn1
        2
    imn1  
       2021-02-17 23:56:47 +08:00   ❤️ 1
    @Livid
    希望把本帖迁移到 分享创造 节点,不然将来不好找
    Mitt
        3
    Mitt  
       2021-02-18 00:10:49 +08:00   ❤️ 1
    只有个 README 可还行?
    learningman
        4
    learningman  
       2021-02-18 00:45:49 +08:00
    所以是不开源的意思?
    javahuang
        5
    javahuang  
    OP
       2021-02-18 08:55:11 +08:00
    @learningman 是的,暂不开源,先给功能做好做精,后期再看有没有其他可能。
    javahuang
        6
    javahuang  
    OP
       2021-02-18 09:09:10 +08:00
    @Mitt 一直在做功能,git 的账号和 repo 都是昨天晚上才创建的,想着年后上班给放出来,很多东西还没来得及准备,抱歉。
    yanue
        7
    yanue  
       2021-02-18 09:37:30 +08:00
    不是 datagrid?
    tellbin
        8
    tellbin  
       2021-02-18 09:55:13 +08:00
    所以只是介绍么?没有下载地址什么的么
    janxin
        9
    janxin  
       2021-02-18 09:56:18 +08:00
    @tellbin 文章最后
    tellbin
        10
    tellbin  
       2021-02-18 10:02:52 +08:00
    @janxin 那个是 github,里面只有 readme 和一张图,也没有 releases
    janxin
        11
    janxin  
       2021-02-18 10:04:27 +08:00
    @tellbin 啊这...没点进去看,还以为里面有下载的
    ao99
        12
    ao99  
       2021-02-18 10:09:24 +08:00
    看起来很好用,但是没看到下载地址
    matrix67
        13
    matrix67  
       2021-02-18 10:09:28 +08:00
    @tellbin #10 浪费人生 2 分钟啊!!! 看了一通介绍 ,只有 readme 和一张图,也没有 releases!!!

    zifangsky
        14
    zifangsky  
       2021-02-18 10:28:35 +08:00
    说了一大堆,不开源也就罢了,连一个试用地址都没有,这不是浪费大家时间吗!!!
    tellbin
        15
    tellbin  
       2021-02-18 10:40:27 +08:00
    作者的另外一个帖子[《开发了一个数据库客户端,准备放出来》]( https://www.v2ex.com/t/742032)
    javahuang
        16
    javahuang  
    OP
       2021-02-18 10:43:32 +08:00
    @zifangsky 抱歉,我今天放出来,本来准备早上放的,上午临时接到一些工作上的需求,写这个软件时间都是一点点挤出来的。
    javahuang
        17
    javahuang  
    OP
       2021-02-18 10:47:28 +08:00
    @tellbin 上面这个还是一个月前放的版本,还没来得及更新,今天抽时间更了,抱歉。
    tellbin
        18
    tellbin  
       2021-02-18 10:52:07 +08:00
    @javahuang 理解
    javahuang
        19
    javahuang  
    OP
       2021-02-18 11:25:14 +08:00
    @tellbin @matrix67 @zifangsky github 上面已经放了 release 了
    tellbin
        20
    tellbin  
       2021-02-18 11:28:07 +08:00
    @javahuang 方便说下前端技术栈么?我这边看了你上个月的版本只能判断出前后分离版本、monaco 编辑器。UI 是没有用框架自己画的么?
    javahuang
        21
    javahuang  
    OP
       2021-02-18 11:37:14 +08:00
    @tellbin ts+react,ui 库主要用的是 blueprintjs,我前端不是很精,布局啥的 flex 一把梭
    tellbin
        22
    tellbin  
       2021-02-18 11:39:51 +08:00
    @javahuang 好的,感谢
    sirius1024
        23
    sirius1024  
       2021-02-18 12:24:14 +08:00
    还是 dbeaver 吧……
    mengdodo
        24
    mengdodo  
       2021-02-18 13:49:35 +08:00
    上来就注册登录的吗
    l00t
        25
    l00t  
       2021-02-18 14:00:53 +08:00
    Java 开发的?告辞。
    ciqulover
        26
    ciqulover  
       2021-02-18 14:01:14 +08:00 via iPhone
    sequel ace, tableplus 不香嘛,数据库工具不开源谁敢用
    kikyous
        27
    kikyous  
       2021-02-18 14:19:41 +08:00 via Android
    @ciqulover 你这发言真有点迷惑,tableplus 就不是开源的啊
    ciqulover
        28
    ciqulover  
       2021-02-18 14:29:55 +08:00 via iPhone
    @kikyous 成熟的商业项目能和个人项目谈信任度嘛?
    javahuang
        29
    javahuang  
    OP
       2021-02-18 15:15:29 +08:00
    @mengdodo 因为是 bs 版的,支持多个用户权限隔离,所以加了注册功能,后续会加上单机模式免登陆之类的。
    javahuang
        30
    javahuang  
    OP
       2021-02-18 15:18:04 +08:00
    @l00t 是的,前后端分离的,后端是 java,启动快,占用内存低。datagrip,dbeaver 也是 java 开发的,但是占用内存比他们低多了。
    javahuang
        31
    javahuang  
    OP
       2021-02-18 15:32:12 +08:00   ❤️ 1
    @ciqulover 开源的我目前没发现有好用的,好用的( tableplus/datagrip/navicat...)基本都不开源且价格都不便宜。如果您觉得个人开发不能谈信任度,后续我可以给后端代码优先开源出来(而且现在代码我也没有混淆加密,反编译阅读起来也不难)。成熟的商业项目也是一点点发展起来的,我也知道这个很大可能不会得到大家的认可,但目前最少方便了我和我的团队,这玩意花了我三个半月的全部零碎时间,不想放弃了,以后不知道怎么样呢。
    laycher
        32
    laycher  
       2021-02-22 11:18:24 +08:00
    dbeaver 我觉得很不错啊。
    Norths
        33
    Norths  
       2021-02-22 19:04:58 +08:00
    看着还不错,最近 Navicat 用厌了想折腾点别的,关注一波
    javahuang
        34
    javahuang  
    OP
       2021-02-24 23:05:33 +08:00
    @laycher 是的,有段时间我也挺喜欢用 dbeaver 的。
    但 dbeaver 很多方面表现很差,举个例子,我实测单表查询 20 万条数据,整个查询过程中 dbeaver 不断发现未响应,最终内存大概增加了 400M,然后 filter 结果集(比如列排序 /字段过滤)的时候直接崩了,而 sqlzero 内存大概只增加了 25M,渲染快,结果集过滤也非常快。
    一个 sql 工具,我觉得比较重要的几个方面,智能提示,结果集展示,数据编辑,schema 编辑。这几点目前我觉得和 dbeaver 相比不比他差,某些方面体验我个人觉得比 dbeaver 好很多。
    当然,dbeaver 功能很多,sqlzero 从我提交第一行代码到现在也只有三个多月的时间,我最开始的目标也是尽可能实现常用功能,现在我觉得已经超出预期了,所以放出来给有需要的人使用。

    顺便贴两个动图,对比下 dbeaver 和 sqlzero
    ![sqlzero]( https://raw.githubusercontent.com/sqlzero/sqlzero/master/assets/13-large-zero-vs-dbeaver.gif)

    ![dbeaver]( https://raw.githubusercontent.com/sqlzero/sqlzero/master/assets/13-large-dbeaver-vs-zero.gif)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2864 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 12:58 · PVG 20:58 · LAX 05:58 · JFK 08:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.