0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简单易用的数据库开源客户端DBeaver

数据分析与开发 来源:数据分析与开发 作者:数据分析与开发 2020-11-14 09:47 次阅读

DBeaver 是一款跨平台的数据库工具,界面友好,支持主题设置,关键字高亮,支持导出 ER 图,支持多种数据库,企业版支持 nosql 数据库。

简介

你在日常开发工作中,对于数据库的使用,是否使用了不同的客户端工具?Oracle使用Sqldeveloper?MySQL使用Navicat?Redis使用AnotherRedisManager?或者苦苦寻找破解的工具?想象一下,如果有一个客户端,可以同时支持以上多种数据库,并且还具有非常易用、酷炫的界面,关键还开源、免费,是不是会勾起你的好奇心?就这样,DBeaver成功地引起了我的注意。

DBeaver是一款免费开源的数据库工具,支持多种不同数据库,分为社区版(免费)和企业版(付费)。社区版的连接基于jdbc,也就是支持所有具有jdbc驱动的数据库,如MySQL、Oracle等,企业版除了具有社区版的功能外,还支持多种NoSQL数据库,如MongoDB、Redis等。这个开源项目的地址是:https://github.com/dbeaver/dbeaver

我个人实际试用的体验非常好,操作方便、界面友好。

下载安装

下载地址是:https://dbeaver.io/download/,源码地址是:https://github.com/dbeaver/dbeaver。我选择了Windows平台下载社区版ZIP包,版本是7.2.3,解压就能使用,以下介绍基于此,同时使用MySQL作为全文演示的目标数据库。解压后双击dbeaver.exe就能使用。这里我只介绍DBeaver几个我认为比较常用,并且其他工具不好用或者没有的功能,像编辑sql语句做CRUD操作这种常规功能就不做介绍了。(但是实际使用起来,DBeaver的SQL提示功能更友好,会自动帮你起表别名等,并且支持SQL语句格式化,建议还是亲自上手试试,这里不做详细介绍)

修改主题

目前DBeaver支持的主题类型不多,但是程序员非常喜欢的暗黑主题已经有了,界面的风格和Jetbrain的开发工具十分相似,作为开发者,我是很有亲切感的。设置主题的地方在窗口-首选项-常规-外观:

连接MySQL

连接MySQL的过程和普通的数据库工具,输入ip、数据库名、用户名密码、测试,完成。

这里如果是第一次连接某种数据库,会有一个下载jdbc驱动包的过程,是自动的,但是需要等待一会。创建之后就可以正式使用DBeaver的功能了。

Blob字段显示

DBeaver支持在查询结果窗口中,将二进制数据做Hex或Base64编码显示,并且还能导出,这提供了很大的便利。在实际开发中,保存在数据库的二进制数据,在网络中传输中通常都是需要做Hex或Base64编码的。如果我们直接查询数据库,就需要将查询结果的二进制数据复制保存,再手工转化为Hex或Base64编码。有了DBeaver,显示和导出都能做到二进制数据的编码了。

Blob字段转换

选中数据行-右键-显示/格式-binaryFormat-String/Hex/Base64,可以选择Hex或Base64编码。

Blob字段导出

Blob字段导出时,可以选择不导出该字段,导出到文件,或者以Hex或Base64编码导出。以导出CSV文件为例。

导出Blob字段为空

选中数据行-右键-导出结果集

导出到文件

导出为Base64编码

导出为Hex编码

导出ER图

DBeaver支持导出ER图。通常我们开发一个新系统,经常会对数据库修修改改,迭代开发过程中也会有一些调整,导致数据库表结构、字段可能和最初的设计不一样,ER图自然也处在不断更新变化中,而DBeaver支持导出ER图,那不管数据库如何变化,我们只需要一键导出就能生成ER图,生成设计文档,是不是很方便?

DBeaver生成ER图也很简单,双机目标数据库,右边窗口会新建一个tab,展示数据库表及生成ER图选项。

导出ER图。注意下图导出按钮的位置:

导出生成的图就是这样子,是不是很方便?

数据比对

选中需要比较的数据库或者表,再点击工具栏的数据库->Compare/Migrate->Simple compare,根据自己的需要按提示点击比较即可,比较结果可以保存成文件或者直接打开浏览器显示页面。

监控

DBeaver还支持对数据库的监控,不管是线上环境还是开发环境,这都是极其有用的一个功能。打开监控面板的方法也很简单,选中数据库-右键-工具-Open DashBoard。监控的内容包括数据库流量、数据读写、数据查询次数、会话数等。(不同的数据库监控的内容不一样,这里以MySQL为例)

扩展

DBeaver还支持插件扩展,类似Eclipse或IDEA插件,可以从插件市场下载插件安装到DBeaver中,操作方法和步骤和Eclipse、IDEA简直一模一样,无缝衔接,这里也不详细展开了。

责任编辑:xj

原文标题:1.5 万 Stars!界面酷炫、简单易用的数据库开源客户端

文章出处:【微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3590

    浏览量

    63365
  • 开源
    +关注

    关注

    3

    文章

    2985

    浏览量

    41716
  • MySQL
    +关注

    关注

    1

    文章

    775

    浏览量

    26001

原文标题:1.5 万 Stars!界面酷炫、简单易用的数据库开源客户端

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用lwip socket udp功能,开发板为客户端时不能够接收服务器发送过来的数据

    请教下,使用 lwip socket udp 功能,开发板为客户端时不能够接收服务器发送过来的数据 ? 1,如果开发板为 服务器,收发都可以 2,如果开发板为
    发表于 04-16 06:01

    通过Modbus读写数据库中的数据

    本文是将数据库数据转为Modbus服务/从站,实现数据库内的数据也可以走Modbus协议通过网口或串口读写的案例,下图是通过智能网关的参
    发表于 03-14 13:44

    MySQL数据库基础知识

    的基础知识,包括其架构、数据类型、表操作、查询语句和数据导入导出等方面。 MySQL 数据库架构 MySQL 数据库由多个组件组成,包括服务器、存储引擎和
    的头像 发表于 11-21 11:09 547次阅读

    AT32基于FreeRTOS的AWS MQTT客户端

    AT32基于FreeRTOS的AWS MQTT客户端建立一个MQTT客户端与 AWS IoT Core进行通讯,用户可以基于这个范例去开发属于自己的应用。
    发表于 10-26 06:03

    SQLite数据库的特点 SQLite数据库简单介绍

    SQLite数据库的特点 SQLite数据库简单介绍 SQLite数据库是一种轻型的嵌入式数据库,其最主要的特点在于其
    的头像 发表于 08-28 16:40 3649次阅读

    通用数据库管理和开发工具DBeaver的下载与安装

    DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。
    发表于 08-14 14:16 430次阅读
    通用<b class='flag-5'>数据库</b>管理和开发工具<b class='flag-5'>DBeaver</b>的下载与安装

    管理员客户端(2)#数据库技术

    数据库
    未来加油dz
    发布于 :2023年07月11日 16:51:49

    管理员客户端(1)#数据库技术

    数据库
    未来加油dz
    发布于 :2023年07月11日 16:51:01

    PLC寄存器和数据库数据转为OPCUA标签供上位机客户端读取

    经常碰到上位机只支持OPC客户端协议,要读取SQL数据库或者PLC设备内的数据,需要协议转换, IGT-DSER智能网关正好支持将数据库数据
    发表于 06-20 11:48

    如何检查连接到我的esp的客户端数量?

    我想像我的 esp8266 和 realy 的简单应用程序。我想打开门(通过继电器),当我输入 esp 地址时。 那么如何检查连接到我的 esp 的客户端数量?
    发表于 06-09 08:20

    ESP8266为什么不能根据来自客户端的连接触发新的html网页?

    我正在尝试在 ESP8266 上创建客户端程序以响应多个 html 网页;当客户选择按钮时。基本上不同的页面用于不同的 LED 控件集。我正在使用 WiFiClient 客户端创建与服务器的连接
    发表于 06-06 10:37

    服务器和客户端之间的TCP通信丢失怎么处理?

    )Serial.println(输入); 字符串 tcp 数据客户端打印(tcpData); 延迟(5); 客户端停止(); 客户端.flush(); } } }
    发表于 05-16 08:19

    如何在rtos mqtt示例中获取客户端句柄?

    中,我调用 代码:全选esp_mqtt_client_publish() 但我没有客户端句柄,它只在回调中设置。我尝试使用客户端句柄的全局副本,但它没有用,除了是个坏主意: 代码:全选
    发表于 05-15 08:13

    当WiFi信号变低时,服务器和客户端之间的TCP通信丢失,如何使客户端重新连接?

    大家好, 当 WiFi 信号变低时,服务器和客户端之间的 TCP 通信丢失,比如超过 -80dBm。一旦客户端断开连接,它就无法重新连接并正常进行通信。如何让客户端在这里重新连接。
    发表于 05-15 07:31

    如何使用esp8266在服务器和客户端之间发送数据

    我是这个小组的新手,我刚刚写信,如果有人能帮助我,我需要一个指南甚至一本书来学习如何使用 esp8266 在服务器和客户端之间发送数据(例如:我有2 esp8266 一个我想将它用作服务器,另一个用作客户端并让它们相互交谈)
    发表于 04-27 07:05