一、学习网站
-
MySQL Workbench使用教程
http://c.biancheng.net/view/2625.html
-
使用MySQL Workbench建立数据库,建立新的表,向表中添加数据
https://blog.csdn.net/starzhou/article/details/86880654
-
MySql Workbench数据库导出和导入
https://blog.csdn.net/keysilence1/article/details/80004265
-
MySQL workbench创建用户与授权
https://blog.csdn.net/nlznlz/article/details/54672997
-
MySQL workbench8.0 CE基本用法(创建数据库、创建表、创建用户、设置用户权限、创建SQL语句脚本)
https://www.cnblogs.com/jpfss/p/10892522.html
-
MySQL workbench8.0 CE的官网(Users and Privileges)
英文网站,如果用chrome浏览器的话可以增加Google翻译的扩展程序,可以翻译整个网站,蛮好用的。
https://dev.mysql.com/doc/workbench/en/wb-mysql-connections-navigator-management-users-and-privileges.html
二、常用操作
这既是我的一些常用操作,也是我新建数据库的一个流程吧。我喜欢一个MySQL Connection (虽然知道这翻译过来是连接的意思,但没看到多少人用这,我也不好意思翻译,万一不地道不规范就不好了,所以我就采用英文啦) 对应一个用户对应一个数据库,所以我的步骤可能复杂了一点。因为我感觉创建的库多了全都放在默认的connection里头显得很杂糅。
1.创建用户
在菜单Server下点击Users and Privileges。
然后点击Add Account。
填入信息,然后apply一下。
2.创建数据库
这是我设置的两个参数utf8&mb4和utf8&mb4_0900_ai_ci,apply一下就建库成功了。
3.创建MySQL Connections
回到首页,即点击左上角小房子那,然后点击下边的加号。
填上信息,下边的就是我们刚刚新建的用户名和密码,然后可以按一下Test Connection,没问题的话点ok就新建好了。
4.设置用户权限
回到创建用户的界面,切换到Schema Privileges的界面。
点击Add Entry。
大家可以选择给这个用户全部数据库的权限,也可以选择只给它一个库的权限。然后点击ok,再apply一下即可。
成功的页面如下图。
还有别的设置我就不说了,因为我也不常用,不甚了解,不敢瞎说。想要了解更详细的可以找上边的学习网站看看。
5.新建表
回到首页,点击我们刚刚创建的Mysql Connection。
右键点击Tables,选中Create Table。
以创建Users表为例,PK是主键的意思,NN是非空的意思,AI是自增的意思。数据类型里的VARCHAR相当于java里的String,它里面的数字可以理解为长度。如果字段长度很长,建议改成255,如果比较短,可以取小一点的数,看个人。
设置好表格之后,apply一下就好了。
插一句,如果设置默认数据库,双击库名变粗即可,或者库名右键Set as Default Schema。
6.表的相关操作
1)常规
右键具体的表名:
- Select Rows - Limit 1000
编辑表的数据信息,可以新增、修改或删除数据。 - Alter Table
编辑表的结构信息,可以新增、修改或删除字段。 - Drop Table
删除表。 - Truncate Table
当删除完表里的数据信息,想要id自增字段重新从1开始增加,就需要用到这个。
2)创建已有的表
如果想要用别的数据库的表,又不想一个个字段去设置,怎么办好呢?
我这里用sql语句来解决。
找到想要复制的表,比如我这个cms库里的user表。
右键user表,点击Send to SQL Editor—Create Statement。
会出现下边这个sql文件,按ctrl+a全选,ctrl+c复制即可。
在我们的库里头点击新建sql文件,ctrl+v粘贴。
点击闪电,在左边库中找到user表即创建成功。
7.数据库的导出导入
1)导出
(1)导出sql文件
点击Data Export:可以选择数据库和数据库里具体的表,可以选择导出数据信息还是表结构或者两者都,可以改变sql文件导出的位置和名字。最后点击Start Export即可。
(2)把表的结构做成Excel表格
用wps以表格的形式打开sql文件,只留下字段信息。
选中第一列,找到菜单“数据”下的分列。
上图中点击下一步也可,直接点击完成也可。
把 NOT NULL/DEFAULT NULL合体,去掉COMMENT。
ctrl+c复制碍眼的引号。
ctrl+h弹出替换框,ctrl+v粘贴想要替换的引号,然后替换–>查找下一个。最右列的引号和逗号也可以这么去掉。
最后整成这个漂漂亮亮的Excel表,再另存为即可(建议另存为呐~如果直接保存的话,原来的sql文件也相当于废了)。
2)导入
点击Data Import/Restore,找到想要导入的sql文件,设置默认导入的库,选择导入数据信息还是表结构或者两者都,最后Start Import即可。
对于数据库的操作,我就只入门到这了,后续有新学什么,我就再补充补充吧~
三、IDEA+Mysql
1.连接MySQL
Name自命名,User、Password填数据库的用户名,Database填数据库库名,URL需要补充一段:
?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
最后Asia/Shanghai那个是时差。
然后Test Connection,如果没问题,apply一下即可。
如果有问题自行百度吧。我遇到过问题但我忘了是啥问题也忘了怎么解决,因为当时没有记下来。GOOD LUCK!
最后就会出现这个。
如果想要同步数据库信息,点击刷新按钮即可。如果想重新设置连接数据库,点第二个红框。
2.增加maven依赖
打开pom.xml。
加入依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
import maven。(install时test报错了,我就先屏蔽test继续import。)
详情指路去maven篇:
https://blog.csdn.net/PLCET/article/details/106960898
3.修改springboot的配置文件
打开application.properties。
加入这个,记得修改库名、用户名和密码。
# jdbc_config datasource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/[...]?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
spring.datasource.username=...
spring.datasource.password=...
# Hikari will use the above plus the following to set up connection pooling
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1
spring.jpa.database=MYSQL
spring.jpa.show-sql=false
4.创建实体类
建立pojo层,新建UsersEntity。
加入这几个注解。
在库名“study”那alt+enter,点击Assign Data Sources。
选中连接的数据库,点击ok即可。
然后写对应字段的变量。
在这里贴上对应的users表。一定要注意驼峰命名法!
四、遇到的坑
1.数据库命名不可以用数字
血一般的教训。当时我是在外部tomcat部署的时候,重新建了个库。从用户名到mysql connection到库名表名都用了学号 (因为要提交作业) ,然后就很悲惨地掉坑了。具体的我也不知道哪个不能用数字命名,反正我是再也不敢用数字命名了。
2.驼峰命名法
驼峰命名法,我也讲不出个所以然来,就有个模糊的概念。大家想要了解自行百度吧。
我这里的坑是,我当时在MySQL的表中创建了个字段:fullName,然后在IDEA的实体类中的变量名是:fullName。
悲惨,运行服务器报错,找了个老半天,驼峰命名不规范。
我把MySQL表的fullName改成full_Name,就不报错了。
3.MySQL连接失败
十之八九没有启动mysql服务。
在 “ 此电脑 ” 右键 “ 管理 ”,找到 “ 服务 ”,找到mysql服务器,启动即可。
4.MySQL的时间字段
这个错误,唔,蛮沙雕的。我当时增加表的数据信息,一开始想怎么简单怎么来,然后就0000-00-00 00:00:00。后来觉得太单调了,就随便整个数字,真的,就2028-13-59 26:80:71 这个都给我瞎按出来。结果当然报错QAQ。
5.字段非空问题
如果有些字段设置了非空(NOT NULL),那就一定要好好注意这个问题。不然非空会报错。解决方法蛮简单的,要么加入值,要么设置可以为空。