Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

这篇简单介绍下载 IDEA 中如何直接连接 MySQL 数据库并操作数据库对象。

第一步,配置数据库信息

点击 IDEA 中右侧的工具栏 Database。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

弹出的数据库配置框中,输入 MySQL 数据库的配置信息。如果能连接成功,则如下图,点击 OK 即可。

如果连不上,可能发生错误之类的,请翻到文章最后,参考一些发生的常见问题及解决办法。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

第二步,查看数据库中的对象信息

可以看到刚才配置的数据库已经有了。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

但点开 schemas 后,发现并没有任何数据库,这个问题可能在 IDEA 的新版本存在,需要修改下刚才的配置。点击配置信息快捷图标,如下:

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

按照如下图所示,可以选择要用的数据库,或者勾选所有数据库,便于使用,点击 OK。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

可以看到选中的数据库已经有了

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

表也都显示了。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

第三步,操作数据库中的对象

比如如何查看表信息,操作表数据呢?

直接在表名上双击,即可打开操作窗口,如图:

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

如果想带条件查询,按照上图中表顶部,输入条件,也就相当于 where 后面的条件部分,然后回车,就可以看到查询出满足条件的数据了。

如何修改表信息呢?

双击要修改的值,直接修改,如下图:

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

然后需要在所在行上,点击鼠标右键,选择提交,才能把修改后的数据刷入数据库。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

所有基本的数据库 CRUD 操作,都可以在 IDEA 底部的 Services 窗口中看到对应的命令,比如刚才的修改行记录的日志,如下图:

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

四、配置中出现的问题

Q1:当连接数据库的用户对应的密码为空时,IDEA 一直提示让输入密码。。。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

不知道是什么问题,比如配置时,root 密码本来为空,结果一直让提示输入密码,配置不成功,也没搜到啥原因,先把问题放这里,如果查到原因了,再补充这里。

备注:但是通过其它连接 MySQL 的客户端工具,不输入密码是可以连接的,比如 SQLyog,如图:

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

最后逼的没办法,修改了 root 的密码,才配置成功的。。。

如何修改用户对应的密码呢?命令如下:

进入 MySQL 命令窗口,输入命令:mysql -uroot -p

回车后输入密码(因为现在为空,不用输入)并回车,就可以看到连接上了 MySQL 数据库。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

查看有哪些数据库,命令:show databases;

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

切换数据库 mysql,命令为:use mysql;

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

针对要连接的用户(这里为 root),修改密码为自己要设置的密码,这里设置为 123456。

命令:update user set password=PASSWORD('123456') where user='root';

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

所有 user = root 的密码都会修改,所以修改时务必小心,别改错了,可以提前打开表看看,对应 Host 的 root 用户密码修改,这里为个人测试数据库,所以就没带 host 条件。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

最后别忘了需要刷新一下使得修改生效。

命令:flush privileges;

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

最后退出 MySQL 数据库:quit;

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

再次配置 IDEA,则可以看到可以连接成功了!!!

顺便科普一下该命令的作用:

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

Q2:连接是发生错误,信息为:Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. 是什么原因导致的?

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

服务器返回无效的时,时区错误,如何进行设置连上数据库?

导致该问题的原因是:MySQL 默认的时区是 UTC 时区,比北京时间晚 8 个小时,所以要修改 mysql 的时长。

如何修改,步骤如下:

进入 MySQL 命令窗口,输入:mysql -uroot -p

回车后输入密码并回车,就可以看到连接上了 MySQL 数据库。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

然后输入:set global time_zone='+8:00'; 

屏幕提示 OK 即完成了 MySQL 数据库的时区修改。

Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

再次配置 IDEA 的连接信息,可以看到错误消失了,数据库就可以连上了。