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

一、学习网站

  • 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),那就一定要好好注意这个问题。不然非空会报错。解决方法蛮简单的,要么加入值,要么设置可以为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值