《MySQL系列教程》:
教程介绍
本套教程是为零基础想要学习MySQL的学习者量身定制的学习教程,完全从零开始由浅入深掌握MySQL的使用,最终达到灵活使用MySQL,能够使用MySQL解决实际工作问题。本教程共17章,字数超10w+,配图超100+,本教程坚持已图文并茂的方式讲解每一个知识点,让读者能够更好的吸收消化每一个知识难题。
坚持以零基础为中心,坚持以实用为原则。因此本套教程不会设计过多原理部分的内容讲解,旨在让读者轻松掌握MySQL的使用,带领读者快速走进MySQL的世界。虽然并不会涉及过多原理部分的知识,但在工作中所要求掌握的MySQL知识点本系列教程"应有尽有"。
本系列教程配备有专门的学习群:870033293 ,欢迎各位读者进入学习交流群与其他读者一起交流学习
本套教程涵盖内容:数据库系统的简介、基本概念,数据库基本的DDL/DML/DQL等操作、数据库字符集、排序、分组、聚合、having、case when语句、数据库备份与恢复、约束、级联、外键、表连接(内连接、左/右连接、全连接)、子查询、复杂查询、表关系、DCL创建用户、删除用户、赋予/回收权限、事务、视图、存储过程、存储函数、游标、触发器、范式、JDBC、SQL注入、SQL批处理、JDBC连接参数详解、JDBC执行存储过程、Druid连接池、连接池优化、等操作知识点;
详细目录
第1章 数据库的介绍 13
1.1 数据库概述 13
1.2 常见数据库 14
1.3 登录MySQL数据库 15
1.4 Navicat 图形化工具 18
1.5 MySQL与数据库的关系 20
1.6 SQL语句简介 21
1.6.1 SQL语句分类 21
1.6.2 MySQL注释 22
第2章 数据库的基本操作 22
2.1 DDL操作数据库 22
2.1.1 创建数据库相关操作 22
2.1.2 查看数据库相关操作 23
2.1.3 修改数据库编码 23
2.1.4 删除数据库 23
2.1.5 使用数据库 24
2.2 DDL操作表结构 24
2.2.1 MySQL数据类型 24
2.2.2 创建表 25
2.2.3 查看表 26
2.3.4 复制表结构 27
2.3.5 删除表 27
2.3.6 修改表结构 28
2.3.7 修改表字符集 29
2.3 DML操作表中的数据 30
2.3.1 插入记录 30
2.3.2 更新记录 31
2.3.3 删除表记录 32
2.3.4 清空表 33
2.3.5 增删改方法小结 33
2.4 数据库的查询 34
2.4.1 查询全部数据 34
2.4.2 查询指定列 35
2.4.3 指定列的别名进行查询 36
2.4.4 清除重复值 37
2.4.5 查询结果参与运算 39
2.5 DQL条件查询 41
2.5.1 准备数据 41
2.5.2 比较运算符 42
2.5.3 逻辑运算符 43
2.5.4 in关键字 44
2.5.5 范围查询 44
2.5.6 like 关键字 44
2.5.7 查询为空的列IS NULL 45
2.5.8 条件查询小结 46
第3章 MySQL字符集 46
3.1 DOS命令行下汉字乱码的问题 46
3.1.1 字符集相关参数: 47
3.1.2 乱码的原因 47
3.1.3 客户端编码 48
3.1.4 数据传递过程 49
第4章 DQL查询语句 51
4.1 排序 51
1.1.1 单列排序 52
1.1.2 组合排序 52
4.2 聚合函数 53
1.2.1 五个聚合函数 53
1.2.2 语法: 53
4.3 分组 54
1.3.1 分组的用法 54
1.3.2 having与where的区别 57
4.4 limit语句 58
1.4.1 limit语句简介 58
1.4.2 LIMIT的使用场景: 58
4.5 case when语句 59
1.5.1 case when使用示例 59
1.5.2 case when 案例 60
1)案例1 60
2)案例2 63
第5章 数据库备份 65
5.1 备份的应用场景 65
5.2 备份与还原的语句 65
5.2.1 数据备份 65
1)导出表: 66
2)导出库: 67
3)指定条件导出: 67
5.2.2 数据还原 68
1)mysql命令恢复 68
2)source 71
第6章 数据库约束 72
6.1 数据库约束的概述 72
6.1.1 约束的作用: 72
6.1.2 约束种类: 72
6.2 主键约束 73
6.2.1 主键的作用 73
6.2.2 主键的特点 73
6.2.3 主键列的选择 73
6.2.4 创建主键方式 73
6.2.5 删除主键 74
6.2.6 主键自增 75
6.2.7 联合主键 77
6.3 唯一约束 78
6.4 非空约束 79
6.5 默认值 79
6.6 检查约束 80
6.7 外键约束 81
6.7.1 单表的缺点 81
6.7.2 什么是外键约束 83
6.7.3 创建外键 84
6.7.4 删除外键 87
6.7.5 外键的级联 88
1)级联问题引入 89
2)级联的种类 90
3)级联操作 90
3.8 数据约束小结 92
第7章 连接查询 92
7.1 表的关系简介 92
7.1.1 一对多 92
7.1.2 多对多 93
7.1.3 一对一 95
7.1.4 表关系小结 96
7.2 笛卡尔积 97
7.2.1 什么是笛卡尔积现象 98
7.2.2 如何清除笛卡尔积现象的影响 99
7.3 内连接 100
7.3.1 隐式内连接 100
7.3.2 显式内连接 100
7.3.3 内连接查询步骤: 102
7.4 左外连接 102
7.4.1 左连接的语法: 102
7.4.2 左连接的案例: 102
7.5 右外连接 104
7.5.1 右连接的语法: 104
7.5.2 右连接的案例: 104
7.6 全连接 105
第8章 子查询 108
8.1 查询的结果 109
8.1.1 结果为单行单列 110
8.1.2 结果为多行单列 112
8.1.3 子查询结果为多行多列 114
8.2 子查询小结 115
8.3 exists语句 115
第9章 多表查询的案例 118
9.1 准备数据 118
9.2 练习1 121
9.3 练习2 122
9.4 练习3 123
9.5 练习4 124
9.6 练习5 126
9.7 练习6 127
9.8 练习7 128
第10章 DCL (Data Control Language) 129
10.1 用户管理 129
10.1.1 查看用户 129
10.1.2 创建用户 130
10.1.3 修改密码 133
1)修改密码 133
2)破解密码 134
10.1.4 删除用户 139
10.2 权限管理 140
10.2.1 授予权限 142
1)【案例-1-列权限】 142
2)【案例-2-表权限】 145
3)【案例-3-数据库权限】 148
4)【案例-4-全局权限】 152
5)小结 154
10.2.2 撤销权限 157
10.2.3 权限原理 160
1)权限磁盘表 160
2)flush privileges 165
第11章 事务 167
11.1 事务的概念 167
11.1.1 什么是事务: 167
11.1.2 事务的四大特性 167
11.2 事务的应用场景说明 167
11.3 手动提交事务 169
11.3.1 手动提交事务的SQL语句 169
11.3.2 手动提交事务使用过程: 170
11.3.3 案例演示1:事务提交 170
11.3.4 案例演示2:事务回滚 172
11.4 自动提交事务 175
11.4.1 案例演示3:自动提交事务 175
11.4.2 取消自动提交 175
11.5 事务原理 178
11.5.1 原理图: 178
11.5.2 事务的原理解释: 178
11.6 回滚点 179
11.6.1 什么是回滚点 179
11.6.2 回滚点的操作语句 179
11.6.3 具体操作: 179
第12章 事务的隔离级别 182
12.1 并发访问的三个问题 182
12.2 设置隔离级别 182
12.2.1 四种隔离级别: 182
12.2.2 四种隔离级别起的作用: 183
12.3 安全和性能对比 183
12.4 MySQL相关的命令: 183
12.5 脏读 184
12.5.1 脏读演示 185
12.5.2 解决脏读 185
12.6 不可重复读 186
12.6.1 和脏读的区别: 187
12.6.2 不可重复读演示 187
12.6.3 解决不可重复读 188
12.7 幻读 189
12.7.1 幻读解决情况1): 189
12.7.2 幻读解决情况2): 190
12.7.3 幻读问题出现情况1): 191
12.7.3 特殊情况: 193
12.8 串行化 194
12.8.1 概念 194
12.8.2 串行化演示 195
第13章 触发器与视图 196
13.1 触发器 196
13.1.1 触发器介绍 196
13.1.2 触发器语法 196
13.2 视图 199
13.2.1 创建视图 200
1)视图创建的语法 200
2)视图的使用 201
13.2.2 修改视图 206
1)创建时修改 206
2)使用alter语句更改视图 207
3)更新视图内容 208
13.2.3 删除视图 209
13.2.4 视图的其他参数 210
1)ALGORITHM 211
2)DEFINER 211
3)SQL SECURITY 212
4)WITH 214
5)小结: 218
第14章 存储过程和存储函数 218
14.1 存储程序优缺点 218
14.2 存储过程的使用 219
14.2.1 存储过程的语法 220
14.2.2 变量 220
14.2.3 if语句 221
14.2.4 传递参数 222
1)in-输入参数 222
2)out-输出参数 223
3)inout-输入输出参数 224
14.2.5 case语句 224
14.2.6 while循环 225
14.2.7 repeat循环 225
14.2.8 loop循环 226
14.3 存储过程和存储函数的区别 227
第15章 数据库的三大范式 228
15.1 第一范式 228
15.2 第二范式 229
15.3 第三范式 230
15.4 反范式化 232
15.5 过分范式化带来的弊端 232
第16章 JDBC的操作 233
16.1 JDBC概述 233
16.1.1 使用JDBC的好处: 233
16.1.2 JDBC连接参数 234
16.1.3 JDBC中常用接口 235
16.1.3 JDBC快速入门 236
16.1 Connection接口 240
16.1.1 Connection接口简介 240
16.1.2 Connection的获取 240
16.1.3 Connection的常用方法 241
1)基本方法: 242
2)执行SQL相关方法: 243
3)事务管理相关方法: 244
16.2 Statement接口 244
16.2.1 Statement中的方法 244
16.2.2 执行DDL操作 245
16.2.3 执行DML操作 249
16.2.4 执行DQL操作 251
1) ResultSet接口: 251
2)常用数据类型转换表 252
3)日期和时间相关 253
4)DQL代码测试 254
16.2.5 执行DCL操作 258
1)DCL语句回顾 258
2)JDBC操作DCL语句 259
16.3 数据库工具类 265
16.4 PreparedStatement接口 267
16.4.1 SQL注入问题 267
1)需求案例 267
2)完成案例 268
3)问题引入 270
16.4.2 PreparedStatement 解决SQL注入 271
16.4.3 PreparedStatement 简介 274
1)执行DML操作 275
2)执行DQL操作 278
3)PreparesStatement 使用小结 284
16.4.4 PreparedStatement 参数处理原理 284
16.4.5 PreparedStatement 的预编译 293
1)预编译简介 293
2)开启预编译 294
3)预编译的参数 296
4)预编译的优缺点 296
16.5 CallableStatement 接口 298
16.5.1 CallableStatement 简介 298
16.5.2 CallableStatement的使用 298
1)执行无参无返回 298
2)执行有参无返回 299
3)执行有参有返回 300
4)执行存储函数 302
5)其他情况 304
16.6 JDBC的事务处理 306
16.6.1 事务相关API 307
16.6.2 案例测试 307
1)模拟转账业务 307
2)事务隔离级别 309
3)事务回滚点 311
16.7 数据库元数据 312
16.7.1 数据库元数据 312
16.7.2 结果集元数据 314
16.7.3 参数元数据 318
第17章 连接池 320
17.1 连接池概述 320
17.2 连接池的使用 322
17.2.1 DataSource接口 322
17.2.2 自定义连接池 323
1)创建数据源MyDataSource类: 323
2)代码实现 323
3)测试类使用数据源类: 327
17.3 Druid连接池 328
17.3.1 Druid简介 328
17.3.2 Druid常用的配置参数 328
17.3.3 DRUID连接池基本使用 329
17.4 连接池工具类 331
17.4.1 创建工具类 331
17.4.2 数据源工具类的使用 334
文章目录
其他系列教程:
- 后端系列教程:
强调:本教程属于本人日夜整理出来的精华教程,未经许可禁止转载!