了解 MySQL 和 Mybatis 的使用
—— 化学有一次考试上90就改名
视频链接: https://njupt-sast.feishu.cn/minutes/obcn9p3b7e3ihx7251whk41x?from=from_copylink
Ⅰ、认识和安装MySql
一、什么是数据库
概念:是一种安装在操作系统之上的数据仓库。
作用:储存管理数据
二、数据库分类
1.关系型数据库:SQL
- MySQL、Oracle、Sql Server、DB2、SQLlite
- 通过表和表之间,行和列之间的关系进行数据的存储
- 通过外键关联来建立表与表之间的关系
2.非关系型数据库
- Redis、MongoDB
- 指数据以 对象 的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
三、数据库管理系统(DBMS)
- 数据库的管理 软件 ,科学有效的管理、维护和获取我们的数据
- MySQL 就是数据库管理系统
四、安装MySql数据库:详见MySql安装保姆级教程.md
Ⅱ、数据库操作
一、基本命令(如果是命令行要以管理员身份运行)
所有语句都要以分号结尾
show databases; –查看当前所有的数据库
use 数据库名; –打开指定的数据库
show tables; –查看所有的表
describe/desc 表名; –显示表的信息
create database 数据库名; –创建一个数据库
drop database 数据库名; –删除数据库
exit –退出连接
– –单行注释
–单行注释
/*…*/ –多行注释
二、数据库列类型
数值
| 数据类型 | 描述 | 大小 |
|---|---|---|
| tinyint | 十分小的数据 | 1bit |
| — | — | — |
| smallint | 较小数据 | 2bit |
| mediumint | 中等大小的数据 | 3bit |
| int | 标准整数 | 4bit |
| bigint | 较大数据 | 8bit |
| float | 浮点 | 4bit |
| double | 浮点 | 8bit |
| decimal | 字符串形式浮点 | |
字符串
| 数据类型 | 描述 | 大小 |
|---|---|---|
| char | 固定大小字符串 | 0-255 |
| — | — | — |
| varchar | 可变字符串 | 0-65535 |
| tinytext | 微型文本 | 2^8-1 |
| text | 文本串 | 2^16-1 |
时间日期
| 数据类型 | 描述 | 格式 |
|---|---|---|
| data | 日期格式 | YYYY-MM-DD |
| — | — | — |
| time | 时间格式 | HH: mm: ss |
| datatime | 最常用时间格式 | YYYY-MM-DD HH: mm: ss |
| timestamp | 时间戳,1970.1.1到现在的毫秒数 | |
| year | 年份表示 | |
null
空值,无法用于计算
三、字段属性
- 主键 主键是一个列或者多个列的组合(主键可以有多个),其值能唯一地标识表中的每一行。也就是说,我们在设计表时,需要有一个东西能够让每一行唯一确定,所以主键是强制要被设定的。并且,设定主键之后,主键是不能为null值的。另外如果我们有两个相同的主键,会报错误。 一般在开发中,我们基本会将id设置为主键,之后给一个自动递增防止重复。
- 默认值默认值直观易懂,就是每个字段在初始化时如果没有赋值,那么就会给予一个设定的默认值。
- 自增默认每次增加一条数据记录时都会在原有的基础上+1,也可以自己设置自增的步进。
- 无符号相当于unsigned,声明这一列的数据不能是负数。
- 填充零字面意思,不够的位数使用0来填充,比如你使用了一个长度为3的int类型的字段。前面的空位会用0自动填充。
四、数据操作语言(DML)
总括:增删改查
基本语法和简单举例
1.insert(增)
– 普通用法
INSERT INTO student(name) VALUES (‘zsr’);
– 插入多条数据
INSERT INTO student(name,pwd,sex) VALUES (‘zsr’,’200024’,’男’),(‘gcc’,’000421’,’女’);
– 省略字段
INSERT INTO student VALUES (5,’Bareth’,’123456’,’男’,’2000-02-04’,’武汉’,‘1412@qq.com‘,1);
语法:
INSERT INTO 表名([字段1,字段2..])VALUES(‘值1’,’值2’..),[(‘值1’,’值2’..)..];
注意:
- 字段和字段之间使用英文逗号隔开
- 字段是可以省略的,但是值必须完整且一一对应
- 可以同时插入多条数据,VALUES后面的值需要使用逗号隔开
2.delete(删)
– 删除数据(避免这样写,会全部删除)
DELETE FROM student;
– 删除指定数据
DELETE FROM student WHERE id=1;
语法:
DELETE FROM 表名 [WHERE 条件]
3.update(改)
– 修改学员名字,指定条件
UPDATE student SET name=’zsr204’ WHERE id=1;
– 不指定条件的情况,会改动所有表
UPDATE student SET name=’zsr204’;
– 修改多个属性
UPDATE student SET name=’zsr’,address=’湖北’ WHERE id=1;
– 通过多个条件定位数据
UPDATE student SET name=’zsr204’ WHERE name=’zsr’ AND pwd=’200024’;
语法:
UPDATE 表名 SET 字段1=值1,[字段2=值2…] WHERE 条件[];
4.select(查)
这里介绍常见的两种查询即条件查询和模糊查询,对于分组查询、子查询和连接查询可以自己用到的时候再去学习。
条件查询(关键词where)
例:SELECT * FROM student WHERE name = ‘cxy’ AND age = 18;
用人话来说:从student数据库中找名字为cxy且年龄为18的数据
SELECT * FROM data WHERE number BETWEEN 1 AND 100 ;
用人话来说:从data数据库中找数字位于1-100闭区间的数据
SELECT * FROM data WHERE number IN(‘1’, ‘3’);
用人话来说:从data数据库中找数字为1或3的数据
模糊查询(关键字like)
举例:SELECT * FROM student WHERE name LIKE ‘乐%’;
用人话来说:从student数据库找名字以乐开头的数据
SELECT * FROM student WHERE name LIKE ‘_ nice’;
用人话来说:从student数据库找名字是任意 一个 字符+nice的数据
更多更详细的MySql学习可以戳这里
Ⅲ、Mybatis
有啥用?简单一句话:更方便地建立pojo实体类(java实体对象)和数据库的数据对应以及更灵活地进行数据库操作
springboot整合MyBaties


如果是已经创建的springboot项目可以手动添加依赖( 以下版本仅供参考,最好使用和自己springboot匹配的版本依赖)
1 | \< **groupId** \>com.mysql\</ **groupId** \> |


