DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。

由于 DBeaver 基于 Java 开发,可以运行在各种操作系统上,包括:Windows、Linux、macOS 等。DBeaver 采用 Eclipse 框架开发,支持插件扩展,并且提供了许多数据库管理工具:ER 图、数据导入/导出、数据库比较、模拟数据生成等。

DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等。商业版本更是可以支持各种 NoSQL 和大数据平台:MongoDB、InfluxDB、Apache Cassandra、Redis、Apache Hive 等。

下载与安装

DBeaver 社区版可以通过官方网站或者 Github 进行下载。两者都为不同的操作系统提供了安装包或者解压版,可以选择是否需要同时安装 JRE。另外,官方网站还提供了 DBeaver 的 Eclipse 插件,可以在 Eclipse 中进行集成。

DBeaver 支持中文,安装过程非常简单,不多说,唯一需要注意的是 DBeaver 的运行依赖于 JRE。不出意外,安装完成后运行安装目录下的 dbeaver.exe 可以看到以下界面(Windows 10):

这个界面其实是新建数据库连接,我们可以看到它支持的各种数据平台;先点击“取消”按钮,进入主窗口界面。

此时,它会提示我们是否建立一个示例数据库。

如果点击“是(Y)”,它会创建一个默认的 SQLite 示例数据库。下图是它的主窗口界面。

DBeaver 和我们常用的软件类似,最上面是菜单项和快捷工具,左侧是已经建立的数据库连接和项目信息,右侧是主要的工作区域。

连接数据库

打开 DBeaver 之后,首先要做的就是创建数据库连接。可以通过菜单“数据库” -> “新建连接”打开新建连接向导窗口,也就是我们初次运行 DBeaver 时弹出的窗口。

我们以 PostgreSQL 为例,新建一个数据库连接。选择 PostgreSQL 图标,点击“下一步(N)”。

然后是设置数据库的连接信息:主机、端口、数据库、用户、密码。“Advanced settings”高级设置选项可以配置 SSH、SSL 以及代理等,也可以为连接指定自己的名称和连接类型(开发、测试、生产)。

点击最下面的“测试链接(T)”可以测试连接配置的正确性。初次创建某种数据库的连接时,会提示下载相应的 JDBC 驱动。

它已经为我们查找到了相应的驱动,只需要点击“下载”即可,非常方便。下载完成后,如果连接信息正确,可以看到连接成功的提示。

确认后完成连接配置即可。左侧的数据库导航中会增加一个新的数据库连接。

由于某些数据库(例如 Oracle、Db2)的 JDBC 驱动需要登录后才能下载,因此可以使用手动的方式进行配置。选择菜单“数据库” -> “驱动管理器”。

选择 Oracle ,点击“编辑(E)…”按钮。

通过界面提示的网址,手动下载 Oracle 数据库的 JDBC 驱动文件,例如 ojdbc8.jar。然后点击“添加文件(F)”按钮,选择并添加该文件。

下次建立 Oracle 数据库连接时即可使用该驱动。

新建连接之后,就可以通过这些连接访问相应的数据库,查看和编辑数据库中的对象,执行 SQL 语句,完成各种管理和开发工作。

生成 ER 图

最后介绍一下如何生成数据库对象的 ER 图。点击窗口左侧“数据库导航”旁边的“项目”视图。

其中有个“ER Diagrams”,就是实体关系图。右击该选项,点击“创建新的 ER 图”。

输入一个名称并选择数据库连接和需要展示的对象,然后点击“完成”,即可生成相应的 ER 图。

ER 图可以进行排版和显示设置,也支持打印为图片。DBeaver 目前还不支持自己创建 ER 图,只能从现有的数据库中生成。

对于图形工具,很多功能我们都可以自己去使用体会;当然,DBeaver 也提供了用户指南,自行参考。

比 Navicat 还要好用、功能更强大的工具!的更多相关文章

  1. 发一个比trace功能更强大debug工具,MonterDebugger

    经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...

  2. 让Docker功能更强大的10个开源工具

    让Docker功能更强大的10个开源工具 更好的管理.Web前端程序.更深入地了解容器应用程序,Docker生态系统正在迅速发展,这还得归功于其充满活力的开源社区. 软件项目的成功常常根据其催生的生态 ...

  3. 功能更强大的格式化工具类 FormatUtils.java

    package com.util; import java.text.DecimalFormat; import java.text.ParseException; import java.text. ...

  4. pandas的筛选功能,跟excel的筛选功能类似,但是功能更强大。

    Select rows from a DataFrame based on values in a column -pandas 筛选 https://stackoverflow.com/questi ...

  5. 一个比 Nginx 功能更强大的 Web 服务器

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ Caddy 简介 Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx,Caddy 提供了更加强大的功能,随 ...

  6. Excel Interactive View - 让页面表格的功能更强大

    MS Office Excel Services提供了一个非常强大的功能,允许你只需要在页面上添加非常少量的JS references,就可以让你在页面上将表格的内容以Excel图表的方式呈现.这里是 ...

  7. C++ folly库解读(三)Synchronized —— 比std::lock_guard/std::unique_lock更易用、功能更强大的同步机制

    目录 传统同步方案的缺点 folly/Synchronized.h 简单使用 Synchronized的模板参数 withLock()/withRLock()/withWLock() -- 更易用的加 ...

  8. 让ecshop编辑器功能更强大

    ecshop后台的商品编辑和文章编辑使用的是FCKEDITOR 编辑器, 这个FCKEDITOR的工具条(toolbar)是可以自定义的,ECSHOP默认使用的是 normal ,属于中档功能, 下面 ...

  9. Rust这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,而且生态不行、所以恶性循环

    这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,,而Golang足够简单,入门快,编译快,性能也强悍,解决了服务端开发人员的痛点,,注定被大多数人接受... go ...

随机推荐

  1. 半吊子菜鸟学Web开发3 --Html css学习1

    1创建一个html文件,用vscode打开 首先输入一个! 然后就可以开始编辑html文件了 2 整体结构 <!DOCTYPE HTML><html>    <head& ...

  2. 七牛云简单实用-uploadManager.put(..)抛出异常

    描述: 本人小白,最近在写一个仿头条的项目,其中有用到七牛云做为图片的存储以代替本地服务其存储,按照视频教程配置服务器端的简单上传功能,总是报错: 参照官方文档:https://developer.q ...

  3. SynchronizedMap 和 ConcurrentHashMap 有什么区 别?

    SynchronizedMap 一次锁住整张表来保证线程安全,所以每次只能有一个线程来 访为 map. ConcurrentHashMap 使用分段锁来保证在多线程下的性能. ConcurrentHa ...

  4. springboot使用jar包方式启动,找不到resources目录中的配置文件(运行时)FileNotFoundException

    将springboot项目打包成jar包,使用 java -jar jar包进行启动,富文本框使用ckeditor+ckfinder: 因为ckfinder自定义配置文件了,上传图片时出现了异常 De ...

  5. 学习Kvm(五)

    KVM(一)搭建部署与概述 一,KVM概述 1.1 虚拟化概述 在计算机技术中,虚拟化意味着创建设备或资源的虚拟版本,如服务器,存储设备,网络或者操作系统等等 [x] 虚拟化技术分类: 系统虚拟化(我 ...

  6. C++ | 智能指针初探

    智能指针初探 在 c/c++ 语言中有一种特殊的类型--指针类型. 指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量.它可以直接对内存地址中的数据进行操作,是一种非常灵活的变量.指针被誉为 ...

  7. nodejs和树莓派开发以及点亮RGB的LED灯代码

    前段时间集团举行前端IOT比赛,借此机会熟悉了树莓派相关的东西,特此记录一些相关的文档和开发指南. 先介绍一些树莓派的入门教程 阮一峰的树莓派入门 微雪电子-树莓派硬件中文官网 ssh链接树莓派 ss ...

  8. SQL之总结(四)---null问题的处理

    概述:如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录.这意味着该字段将以 NULL 值保存. NULL 值的处理方式与其他值不同. NULL 用作未知的或不适 ...

  9. 前端面试题整理——手写flatern摊平数组

    // flatern 是摊平数组 function flat(arr) { const isDeep = arr.some(item => item instanceof Array) if(! ...

  10. location中的各个属性

    http://172.16.20.218:8080/m/MGU20201126001-001/index.html?username=admin&password=123#/write   浏 ...