DBeaver 是一款可视化数据库 GUI 管理工具,我们可以在自己的计算机上,使用图形化界面(GUI)远程管理包括 MySQL 在内的 80 多种数据库。DBeaver 的功能之全,在免费数据库管理工具里也排在前几名。如果你正在找一款趁手的开源工具,DBeaver 可以是你的首选。
有关最热门的 MySQL GUI 管理工具的详细测评,可看我写的《最好用的 10 款 MySQL GUI 管理工具横向测评 - 免费和付费到底怎么选?》这篇文章,另外,如果你需要针对自己的工作流对数据库操作,定制开发,推荐一下卡拉云,详情见文末。
本教程详细讲解 DBeaver 中文使用教程
一. 如何下载及安装 DBeaver 中文免费版
二. 如何使用 DBeaver 远程连接 MySQL 数据库(其他类型数据库方法通用)
三. 使用 DBeaver 操作数据库
- MySQL DBeaver 初始化界面
- 连接远程 MySQL 数据库
- 创建数据库
- 在数据库中创建表
- 查看表数据
- 向 table 表中插入数据
- 修改字段属性
- 删除数据库中的表
四. MySQL 数据导入导出
- 导入 SQL 数据
- 导出 SQL 数据
五. 配置 MySQL 数据库表属性
- 主键约束
- 外键约束
- 唯一约束:UQ 索引
- 非空约束
- 默认值约束
六. 在 DBeaver 中执行一条 SQL 查询 七. 创建触发器及触发器的应用 八. 用户账号和访问权限
- 查看 MySQL 数据库中的账号情况
- 创建 MySQL 数据库账号
- 删除 MySQL 数据库账号
九. DBeaver 的升级版卡拉云
一. 如何下载及安装 DBeaver 中文免费版
我们可以前往 DBeaver 官方网站产品页下载。下载右侧的 Community(社区版) 版本,社区版和企业版的区别是企业版可以连接企业级数据库,比如 SQL Server 等。
扩展阅读:《10 款 MySQL GUI 管理工具横向测评 - 免费和付费到底怎么选?》
二. DBeaver 怎么远程连接 MySQL 数据库
有关 DBeaver 远程连接我写过一篇很详细的教程,请在《DBeaver 怎么远程连接 MySQL 服务器》查看教程,这里不展开写了。
DBeaver 连接 MySQL 失败可能原因
DBeaver 连接失败,少数情况是 DBeaver 本地配置不对,大多数是远程 MySQL 服务器没哟配置好。有关 MySQL 开启允许远程连接的教程,请在《如何远程连接 MySQL 数据库,配置阿里云允许远程连接》查看教程。
以下是常见的远程连接 MySQL 失败的部分原因,大家可根据错误提示找到解决方法。
- MySQL ERROR 2003: 没有配置 My.ini 文件,配置可看这篇《MySQL 配置文件 my.cnf / my.ini 逐行详解》
- MySQL ERROR 2002:多种可能,看这篇 《MySQL ERROR 2002 错误六种可能及解决方案》
- MySQL ERROR 10061: 错误是账号访问权限或配置文件的问题《MySQL 10061的解决方案》
- MySQL ERROR 1130:登录账号没有访问权限或MySQL 配置文件不允许外网访问,看这篇《如何远程连接 MySQL 数据库》
- MySQL ERROR 1045 :账号密码错误,重新输入或者重置密码。

连接数据库后需要开发后台系统?
1.DBeaver 初始化界面
DBeaver for MySQL 初始化界面
2.DBeaver 连接远程 MySQL 数据库
点击配置好的远程登录卡片,登录远程 MySQL 服务器。如果你还没配置好远程端,请参照《DBeaver 怎么远程连接 MySQL 服务器》这篇教程进行配置。登录远程数据库后,可以看到当前远程 MySQL 数据库中已经创建好的数据库列表。
3.DBeaver 创建 MySQL 数据库
鼠标右键点击已经连接上的数据库名,在菜单中选择「创建 - 数据库」,进入新建数据库流程。
首先给新建的数据库「命名」及选择对应的编码。
点击确定后,数据库就创建完成了,接着可以配置数据库的具体属性。
特别提示:DBeaver 报错 「Object create not available in simple view mode」
在对数据库进行增删改时,有可能会碰到「Object create not available in simple view mode」报错。
这个报错的错误原因是 Navigator View 的模式被设置成 Simple,将这个选项改为 Advanced 即可。
4.如何使用 DBeaver 创建表 - 怎么建表
右键点击kalacloud_demo_database
下的「表」,选择「新建 表」。
然后在「表」中选择「新建 列」
在列属性中,设置此表需要的字段和字段属性,然后点击左下角「Save」,应用设置。
DBeaver 会帮你生成创建表的代码,点击「执行」应用设置。
特别提示:在创建表的字段设置自增时报错「incorrect table definition there can be only one auto column and it must be defined as a key」怎么解决?
在创建表时,设置字段自增时,会报错。原因是 DBeaver 不能像其他管理工具那样,自动帮你设置这种特殊的约束,需要你在创建表后,在「约束」里手动设置字段成为主键。
设置 id 字段为「主键」,然后返回「列」再设置 id 为「自增」才不会报错。
首先 id 字段得先是「主键」,然后才可以设置「自增」。
5.查看表数据
双击左侧树状菜单中需要查看的表「kalacloud_users」,右边会显示表信息,目前此表数据为空,接着我们向表中插入数据。
6.向 table 表中插入数据
DBeaver 插入数据很直观,直接选择「添加行」然后就可以像 Excel 一样操作数据库插入数据了。
(1)数据待写入时为绿色,点击 「Save」将数据同步更新到数据库
(2)应用执行后,数据变为白色。
7. DBeaver 修改列 / 字段属性
双击「列」,进入表的字段属性编辑状态,直接在表格中修改字段属性后,点击「Save」即可生效。
8.删除数据表
右键点击需要删除的表,然后选择「删除」,确认后,表会被从数据库中删除。谨慎使用。
扩展阅读:《如何在 MySQL 中查找和删除重复记录?》
四.DBeaver 导入导出 SQL/CSV/JSON 等数据
1.使用 DBeaver 导入 SQL/CSV/JSON 等数据
右键选项需要导入数据的表,并点击「导入数据」。
DBeaver 可以导入多种格式的数据,本教程以 CSV 为例。在弹出的对话框中选择需要导入的 CSV 文件路径。
下一步,点击开始,CSV 文件中的字段与数据库中的字段的映射关系设定。
点击「继续」后,可以看到,我们刚刚从 CSV 导入的数据,已经在我们的数据库中了。
2.使用 DBeaver 导出 SQL/CSV/JSON 等数据
右键选项需要导入数据的表,并点击「导出数据」。
可以看到在导出导航页面中,DBeaver 可以导出多种数据格式。一路下一步即可导出 CSV、JSON、SQL 等格式,非常简单。
扩展阅读:《如何在 MySQL 中导入导出 SQL 数据、Excel、CSV》
五. 配置 MySQL 数据库表属性
1.如何设置主键约束
Primary Key(PK):主键约束,指定某列的数据非空、唯一、不能重复
(1)点击表「属性」
(2)在「约束」里创建「约束」,选择需要成为主键的列,类型选「PRIMARY KEY」
2.如何设置外键约束
Foreign Key:外键,指定该列记录属于主表中的一条记录,参照另一条数据
(1)点击表「属性」
(2)选择「外键」的选项卡
(3)创建「外键」,选择要关联的表和字段
最后点击「Save」,DBeaver 会帮你完成外键配置和应用。
3.如何设置唯一约束:UQ 索引
Unique:唯一约束,指定某列和几列组合的数据不能重复
DBeaver 的唯一约束在表「属性」的「索引」选项卡中,我们可以设置字段和索引类型,勾选 Unique
最后点击「Save」,DBeaver 会帮你完成所有配置。
4.如何设置非空约束
Not Null:非空约束,指定某列不能为 NULL 空
选中 「非空」 的列为数据表的非空约束,取消选中则取消该列的非空约束。
5.如何设置默认值 / 缺省值约束
默认 / 缺省值(Default)的完整名称是 默认 / 缺省值约束(Default Constraint)
MySQL 默认值约束用来指定某列的默认值。
红框部分,我们可以根据自己的需求来设置默认值。 如果默认值设定为「1」,即插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为「1」。
扩展阅读:《MySQL 重置自增 ID (AUTO_INCREMENT)教程 - 完美保留表数据的终极解决方案》
六. 在 DBeaver 中执行一条 SQL 查询
我们也可以直接在 DBeaver 执行一段 SQL 查询,下面这段代码是向kalacloud_demo_database
数据库中kalacloud_users
表里插入一行数据。
INSERT INTO `kalacloud_demo_database`.
`kalacloud_users` (`name`, `phone`, `wechat_id`, `wechat_name`, `STATUS`)
VALUES('卡拉云 kalacloud', '13777779999', 'kalacloud', '卡拉云 kalacloud.com', '2');
点击右上角「SQL」,然后在编辑框里直接写 SQL 即可。
点击「黄色三角」即可执行 SQL 代码,并且可以在下方的状态了,看到执行结果。
下面,我们运行 select
查看上一条命令是否已经写入表中。
SELECT * FROM kalacloud_demo_database.kalacloud_users;
我们可以看到,红框部分,ID 6 这一条就是刚刚我们写入的数据。
扩展阅读:《如何查看 MySQL 数据库、表、索引容量大小?找到占用空间最大的表》
七. 创建触发器及触发器的应用
(0)点击右侧「触发器」进入创建触发器流程
(1)给你的触发器命名
(2)设置触发器出发时机
(3)设置触发器出发类型
(4)设置触发器出发时,执行内容,即触发器的主体
(5)「Save」保存触发器
MySQL 触发器一共有 6 种类型:
BEFORE INSERT
: 在插入数据前,检测插入数据是否符合业务逻辑,如不符合返回错误信息。AFTER INSERT
: 在表 A 创建新账户后,将创建成功信息自动写入表 B 中。BEFORE UPDATE
:在更新数据前,检测更新数据是否符合业务逻辑,如不符合返回错误信息。AFTER UPDATE
:在更新数据后,将操作行为记录在 log 中BEFORE DELETE
:在删除数据前,检查是否有关联数据,如有,停止删除操作。AFTER DELETE
:删除表 A 信息后,自动删除表 B 中与表 A 相关联的信息。
有关六类触发器的实际使用方法及应用场景的详细教程,可查看《MySQL 触发器 创建 、查看、删除 insert、update、delete 教程 - 卡拉云》文章。此教程以实际应用场景为线索,按照场景细致讲解了全部 6 种触发器的使用方法。
八. 用户账号和访问权限
1.查看 MySQL 数据库中的账号情况
(1)在右侧菜单中,双击「用户」
(2)右侧显示此数据库中包含的所有用户账号
点击「用户名」即可对此用户账号属性及权限进行编辑。
2.创建 MySQL 数据库账号
(1)选择「新建 用户」进入新建流程页
(2)在「属性」选项卡中,配置新建的用户属性及权限
(3)点击「Save」生成代码,执行生效。
3.删除、编辑、复制 MySQL 数据库账号
(1)选择需要删除的账号
(2)点击「删除」
(3)点击「刷新」刷新表
扩展阅读:《MySQL 权限管理查询手册 - 创建、授权、取消授权、删除、重命名账号》
九.DBeaver 和 Navicat 对比和区别
DBeaver 和 Navicat 就像「科学计算器」与「普通计算器」的差别。
如果你只做「加减乘除」,那它们之间没有区别。甚至你还会觉得科学计算器又大又笨重,还不如普通计算器好用。
但普通计算器能做科学计算器的复杂运算吗?不能。
同样的,如果你只做日常数据库维护,那肯定体会不到 Navicat 牛X之处。
Navicat Premium 版的价格是 4000+/年,如果它没点金刚钻,是不会有人买单的。
随便举个例子,就说 Navicat 这个根据你自己的数据库里的数据,自动生成实时 BI 图的功能吧,对于做数据分析的朋友来说,多么的直观好用,你甚至不用自己写前端,直接就出来了,还可以一键分享给同事查看。
再说一个效率功能,自动批量运行,简直不要太好用吧。这些都是免费工具里没有或做的比较粗糙的地方。
不要纠结选谁这个问题,从免费版开始用起,直到有一天,某个工作中碰到的需求免费 MySQL 管理工具无法满足时,再去考虑付费管理工具。到时候你自然就知道他们的区别了。想了解各大数据库管理工具的差别,可看这篇《10款主流 MySQL GUI 管理工具测评》其中包括几款免费的和几款收费的,到底怎么选,也可以看看这个。
十. 卡拉云 - 新一代低代码开发工具
DBeaver 为我们提供了管理 MySQL 的图形界面管理工具,可以在本地轻松管理远程数据库,但 DBeaver 只能做较底层的数据库操作。对于「构建在数据库之上,需要前端定制开发」的需求,并不适用。
这里推荐一下我们开发的卡拉云,卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 RESTful API。不仅可以完成 DBeaver 所有功能,还可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。数月的开发工作量,使用卡拉云后可缩减至数天,欢迎免费试用卡拉云。
上图为使用卡拉云在 5 分钟内搭建的「用户认证系统」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具。
更多数据库相关教程可访问 卡拉云 查看。
如果你还有什么疑问,欢迎一起讨论。我的微信 HiJiangChuan。
扩展阅读: