欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WEB入门总结(四)数据库:Mysql [Mysql workbench]

程序员文章站 2022-05-24 18:14:21
...
胡乱一些话

对于安装,我忘了具体步骤,依稀记得在官网安装就好。不过当时的我很不顺利,折腾个死去活来,后来安装了社区版的好像,然后主要用mysql workbench。

所以这篇我主要讲怎么用mysql workbench进行数据库的一些操作,还有怎么在idea中连接数据库等等。不过还是先来一波学习网站嘻嘻。

一、学习网站

可能会有重复的地方,大家按需自取。

  • 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。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
然后点击Add Account。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
填入信息,然后apply一下。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]

2.创建数据库

WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]
这是我设置的两个参数utf8&mb4和utf8&mb4_0900_ai_ci,apply一下就建库成功了。

3.创建MySQL Connections

回到首页,即点击左上角小房子那,然后点击下边的加号。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
填上信息,下边的就是我们刚刚新建的用户名和密码,然后可以按一下Test Connection,没问题的话点ok就新建好了。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]

4.设置用户权限

回到创建用户的界面,切换到Schema Privileges的界面。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
点击Add Entry。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
大家可以选择给这个用户全部数据库的权限,也可以选择只给它一个库的权限。然后点击ok,再apply一下即可。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
成功的页面如下图。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
还有别的设置我就不说了,因为我也不常用,不甚了解,不敢瞎说。想要了解更详细的可以找上边的学习网站看看。

5.新建表

回到首页,点击我们刚刚创建的Mysql Connection。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
右键点击Tables,选中Create Table。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
以创建Users表为例,PK是主键的意思,NN是非空的意思,AI是自增的意思。数据类型里的VARCHAR相当于java里的String,它里面的数字可以理解为长度。如果字段长度很长,建议改成255,如果比较短,可以取小一点的数,看个人。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
设置好表格之后,apply一下就好了。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
插一句,如果设置默认数据库,双击库名变粗即可,或者库名右键Set as Default Schema。

6.表的相关操作

1)常规

右键具体的表名:

  • Select Rows - Limit 1000
    编辑表的数据信息,可以新增、修改或删除数据。
  • Alter Table
    编辑表的结构信息,可以新增、修改或删除字段。
  • Drop Table
    删除表。
  • Truncate Table
    当删除完表里的数据信息,想要id自增字段重新从1开始增加,就需要用到这个。
    WEB入门总结(四)数据库:Mysql [Mysql workbench]
2)创建已有的表

如果想要用别的数据库的表,又不想一个个字段去设置,怎么办好呢?

我这里用sql语句来解决。

找到想要复制的表,比如我这个cms库里的user表。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]
右键user表,点击Send to SQL Editor—Create Statement。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
会出现下边这个sql文件,按ctrl+a全选,ctrl+c复制即可。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
在我们的库里头点击新建sql文件,ctrl+v粘贴。
WEB入门总结(四)数据库:Mysql [Mysql workbench]

WEB入门总结(四)数据库:Mysql [Mysql workbench]
点击闪电,在左边库中找到user表即创建成功。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]

7.数据库的导出导入

WEB入门总结(四)数据库:Mysql [Mysql workbench]

1)导出
(1)导出sql文件

点击Data Export:可以选择数据库和数据库里具体的表,可以选择导出数据信息还是表结构或者两者都,可以改变sql文件导出的位置和名字。最后点击Start Export即可。
WEB入门总结(四)数据库:Mysql [Mysql workbench]

(2)把表的结构做成Excel表格

用wps以表格的形式打开sql文件,只留下字段信息。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
选中第一列,找到菜单“数据”下的分列。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]
上图中点击下一步也可,直接点击完成也可。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
把 NOT NULL/DEFAULT NULL合体,去掉COMMENT。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
ctrl+c复制碍眼的引号。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
ctrl+h弹出替换框,ctrl+v粘贴想要替换的引号,然后替换–>查找下一个。最右列的引号和逗号也可以这么去掉。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
最后整成这个漂漂亮亮的Excel表,再另存为即可(建议另存为呐~如果直接保存的话,原来的sql文件也相当于废了)。
WEB入门总结(四)数据库:Mysql [Mysql workbench]

2)导入

点击Data Import/Restore,找到想要导入的sql文件,设置默认导入的库,选择导入数据信息还是表结构或者两者都,最后Start Import即可。
WEB入门总结(四)数据库:Mysql [Mysql workbench]

对于数据库的操作,我就只入门到这了,后续有新学什么,我就再补充补充吧~

三、IDEA+Mysql

1.连接MySQL

WEB入门总结(四)数据库:Mysql [Mysql workbench]
Name自命名,User、Password填数据库的用户名,Database填数据库库名,URL需要补充一段:

?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai

最后Asia/Shanghai那个是时差。

然后Test Connection,如果没问题,apply一下即可。

如果有问题自行百度吧。我遇到过问题但我忘了是啥问题也忘了怎么解决,因为当时没有记下来。GOOD LUCK!
WEB入门总结(四)数据库:Mysql [Mysql workbench]
最后就会出现这个。

如果想要同步数据库信息,点击刷新按钮即可。如果想重新设置连接数据库,点第二个红框。
WEB入门总结(四)数据库:Mysql [Mysql workbench]

2.增加maven依赖

打开pom.xml。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
加入依赖。

<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。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
加入这个,记得修改库名、用户名和密码。

# 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

WEB入门总结(四)数据库:Mysql [Mysql workbench]

4.创建实体类

建立pojo层,新建UsersEntity。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
加入这几个注解。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
在库名“study”那alt+enter,点击Assign Data Sources。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
选中连接的数据库,点击ok即可。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
然后写对应字段的变量。具体的注解我就不在这里说明什么意思了,不懂的可以直接百度。
WEB入门总结(四)数据库:Mysql [Mysql workbench]
WEB入门总结(四)数据库:Mysql [Mysql workbench]
在这里贴上对应的users表。一定要注意驼峰命名法!我在这里掉过坑,详细的我后头再说~

唔,看起来好像也没啥了,有啥补充的我再来补充!

四、遇到的坑

1.数据库命名不可以用数字

血一般的教训。当时我是在外部tomcat部署的时候,重新建了个库。从用户名到mysql connection到库名表名都用了学号 (因为要提交作业) ,然后就很悲惨地掉坑了。具体的我也不知道哪个不能用数字命名,反正我是再也不敢用数字命名了。

2.驼峰命名法

驼峰命名法,我也讲不出个所以然来,就有个模糊的概念。大家想要了解自行百度吧。

我这里的坑是,我当时在MySQL的表中创建了个字段:fullName,然后在IDEA的实体类中的变量名是:fullName。

悲惨,运行服务器报错,找了个老半天,驼峰命名不规范。

我把MySQL表的fullName改成full_Name,就不报错了。

我?!?!?!还是太菜了我。

2.MySQL连接失败

十之八九没有启动mysql服务。

在 “ 此电脑 ” 右键 “ 管理 ”,找到 “ 服务 ”,找到mysql服务器,启动即可。
WEB入门总结(四)数据库:Mysql [Mysql workbench]

3.MySQL的时间字段

这个错误,唔,蛮沙雕的。我当时增加表的数据信息,一开始想怎么简单怎么来,然后就0000-00-00 00:00:00。后来觉得太单调了,就随便整个数字,真的,就2028-13-59 26:80:71 这个都给我瞎按出来。结果当然报错QAQ。

4.字段非空问题

如果有些字段设置了非空(NOT NULL),那就一定要好好注意这个问题。不然非空会报错。解决方法蛮简单的,要么加入值,要么设置可以为空。