首页 > 技术文章 > Intellij IDEA 初学入门图文教程(四) —— IDEA 直接操作 MySQL 数据库

tzhuwb 2019-11-16 15:49 原文

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

第一步,配置数据库信息

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

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

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

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

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

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

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

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

表也都显示了。

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

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

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

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

如何修改表信息呢?

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

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

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

四、配置中出现的问题

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

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

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

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

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

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

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

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

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

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

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

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

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

命令:flush privileges;

最后退出 MySQL 数据库:quit;

再次配置 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. 是什么原因导致的?

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

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

如何修改,步骤如下:

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

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

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

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

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

推荐阅读