第1部分 入门篇 2
第1章 数据库概述 2
学习目标 2
1.1数据库 2
1.1.1数据库的概念和作用 2
1.1.2数据库的特点 3
1.1.3数据模型 4
1.1.4数据库类型 5
1.2数据库系统 7
1.2.1数据库系统的构成 8
1.2.2数据库管理系统 9
1.2.3常见的关系型数据库管理系统 9
1.3 MySQL数据库管理系统 10
1.3.1 MySQL的产生与发展 10
1.3.2 MySQL的优势 11
1.3.3如何学习MySQL 12
1.4结构化查询语言SQL 12
1.4.1 SQL简介 12
1.4.2 SQL的简单应用 13
本章总结 14
知识考核 15
第2章MySQL的安装与配置 16
学习目标 16
2.1在Windows操作系统下安装与配置MySQL 16
2.1.1下载MySQL 16
2.1.2安装与配置MySQL 17
2.2 MySQL服务的基本操作 22
2.2.1启动MySQL服务 22
2.2.2登录和退出MySQL服务 23
2.2.3停止MySQL服务 25
2.3 MySQL图形化管理工具 25
2.3.1常用的图形化管理工具 26
2.3.2下载并安装Navicat for MySQL 26
2.3.3使用Navicat连接MySQL 28
2.4在Linux操作系统下安装与配置MySQL 29
2.4.1下载MySQL 29
2.4.2安装和配置MySQL 31
2.4.3 MySQL服务基本操作 34
本章总结 34
知识考核 34
第2部分 基础篇 36
第3章 数据库基本操作 36
学习目标 36
3.1创建数据库 36
3.1.1数据库的构成 36
3.1.2使用命令行窗口创建数据库 37
3.1.3使用图形化工具创建数据库 38
3.2查看和选择数据库 39
3.2.1查看数据库 39
3.2.2选择数据库 39
3.3删除数据库 40
本章实训 40
本章总结 41
知识考核 41
第4章 存储引擎、数据类型和字符集 42
学习目标 42
4.1存储引擎 42
4.1.1 MySQL存储引擎概述 42
4.1.2常用的存储引擎 45
4.2数据类型 46
4.2.1数值类型 47
4.2.2日期和时间类型 51
4.2.3字符串类型 53
4.2.4 JSON类型 57
4.3字符集 58
4.3.1 MySQL中的字符集 58
4.3.2选择字符集 59
4.3.3查看与修改字符集 59
本章总结 60
知识考核 61
第5章 数据表基本操作 62
学习目标 62
5.1创建数据表 62
5.1.1创建表的语法形式 62
5.1.2使用SQL语句设置约束条件 64
5.1.3使用图形化工具创建表并设置约束条件 67
5.2查看表结构 71
5.2.1使用SQL语句查看表结构 71
5.2.2使用图形化工具查看表结构 73
5.3修改表 74
5.3.1使用SQL语句修改数据表 74
5.3.2使用图形化工具修改数据表 79
5.4删除表 81
5.4.1使用SQL语句删除表 81
5.4.2使用图形化工具删除数据表 82
本章实训 83
本章总结 85
知识考核 85
第6章 数据的插入、修改和删除操作 86
学习目标 86
6.1插入数据 86
6.1.1使用SQL语句插入数据 86
6.1.2使用图形化工具插入数据 91
6.2修改数据 93
6.2.1使用SQL语句修改数据 93
6.2.2使用图形化工具修改数据 94
6.3删除数据 95
6.3.1使用SQL语句删除数据 95
6.3.2使用图形化工具删除数据 96
本章实训 96
本章总结 98
知识考核 98
第7章 单表数据记录查询 99
学习目标 99
7.1基本查询语句 99
7.2简单数据记录查询 100
7.2.1查询所有字段 100
7.2.2查询指定字段 101
7.2.3查询指定记录 102
7.2.4多条件查询 103
7.2.5查询空值 105
7.2.6查询结果不重复 106
7.2.7范围查询 107
7.2.8字符匹配查询 108
7.2.9排序查询 109
7.2.10限制查询结果的数量 111
7.2.11使用图形化工具筛选数据 112
7.3聚合函数和分组数据记录查询 115
7.3.1使用聚合函数查询 115
7.3.2分组查询 118
7.3.3使用图形化工具实现多个关键字组合查询 120
本章实训 122
本章总结 123
知识考核 124
第8章 多表数据记录查询 125
学习目标 125
8.1连接查询 125
8.1.1内连接查询 125
8.1.2外连接查询 129
8.1.3复合条件连接查询 131
8.2子查询 132
8.2.1 FROM子句中的子查询 133
8.2.2 WHERE子句中的子查询 134
8.3合并查询结果 139
8.3.1使用UNION关键字的合并操作 140
8.3.2使用UNION ALL关键字的合并操作 140
本章实训 141
本章总结 143
知识考核 143
第3部分 进阶篇 146
第9章 运算符 146
学习目标 146
9.1算术运算符 146
9.2比较运算符 148
9.2.1常用比较运算符 148
9.2.2实现特殊功能的比较运算符 150
9.3逻辑运算符 151
9.3.1逻辑与运算符(&&或者AND) 151
9.3.2逻辑或运算符(||或者OR) 152
9.3.3逻辑非运算符(!或者NOT) 152
9.3.4逻辑异或运算符(XOR) 153
9.4位运算符 153
9.4.1位与运算符(&) 154
9.4.2位或运算符(|) 154
9.4.3位异或运算符(^) 154
9.4.4位左移(<<)和位右移(>>)运算符 155
9.4.5位取反运算符(~) 155
9.5运算符的优先级 156
本章实训 157
本章总结 157
知识考核 158
第10章MySQL常用函数 159
学习目标 159
10.1数值函数 159
10.1.1求绝对值函数 160
10.1.2求余函数 160
10.1.3用于获取整数的函数 161
10.1.4获取随机数的函数 161
10.1.5四舍五入函数 162
10.1.6截取小数函数 162
10.2字符串函数 162
10.2.1返回字符串长度和字符串中字符个数的函数 163
10.2.2合并字符串的函数 164
10.2.3替换字符串的函数 164
10.2.4字母大小写转换函数 165
10.2.5获取指定长度字符串的函数 165
10.2.6填充字符串的函数 166
10.2.7删除字符串中空格的函数 167
10.2.8重复生成字符串的函数 168
10.2.9获取字符串中子串开始位置的函数 168
10.2.10反转字符串的函数 168
10.3日期与时间函数 169
10.3.1获取当前日期的函数 169
10.3.2获取当前时间的函数 170
10.3.3获取当前日期和时间的函数 170
10.3.4获取UNIX时间戮函数 170
10.3.5获取年份、月份、星期、日、时、分和秒的函数 171
10.3.6格式化日期和时间的函数 172
10.3.7计算日期和时间的函数 173
10.3.8时间和秒相互转换的函数 175
10.4条件判断函数 175
10.4.1 IF()函数 175
10.4.2 IFNULL()函数 176
10.4.3 CASE函数 177
10.5 JSON函数 179
10.5.1创建JSON值的函数 179
10.5.2修改JSON值的函数 180
10.5.3从JSON文档中删除数据的函数 181
10.5.4返回JSON文档中数据和路径的函数 181
10.6其他函数 182
10.6.1返回数据库信息的函数 183
10.6.2加密函数 183
10.6.3对不同进制数据进行转换的函数 184
10.6.4 IP地址与数字相互转换的函数 185
本章实训 185
本章总结 187
知识考核 188
第11章 索引 189
学习目标 189
11.1索引概述 189
11.1.1索引的概念和特点 189
11.1.2索引的分类 190
11.1.3索引的设计原则 190
11.2创建和查看索引 191
11.2.1在创建表的时候创建索引 191
11.2.2在已有的表上创建索引 198
11.3删除索引 200
本章实训 201
本章总结 203
知识考核 204
第12章 视图 205
学习目标 205
12.1视图概述 205
12.2创建视图 206
12.2.1在单表上创建视图 206
12.2.2在多表上创建视图 207
12.2.3使用图形化工具创建视图 208
12.3查看视图 209
12.3.1查看视图基本信息 209
12.3.2查看视图定义语句 210
12.3.3通过views表查看视图详细信息 210
12.3.4使用图形化工具查看视图 212
12.4修改视图 213
12.4.1使用CREATE OR REPLACE VIEW语句修改视图 213
12.4.2使用ALTER语句修改视图 213
12.4.3使用图形化工具修改视图 214
12.5删除视图 215
12.5.1使用DROP VIEW语句删除视图 215
12.5.2使用图形化工具删除视图 216
12.6操作视图中数据 216
12.6.1修改视图中数据 216
12.6.2删除视图中数据 219
12.6.3向视图中插入数据 219
本章实训 219
本章总结 220
知识考核 220
第13章 存储过程和函数 221
学习目标 221
13.1存储过程和函数概述 221
13.2创建并调用存储过程和函数 222
13.2.1创建存储过程 222
13.2.2创建存储函数 223
13.2.3调用存储过程和函数 224
13.2.4使用图形化工具创建存储过程和函数 225
13.3关于存储过程和函数的表达式 227
13.3.1变量 227
13.3.2定义条件和处理程序 228
13.3.3游标的使用 231
13.3.4流程控制的使用 233
13.4查看存储过程和函数 236
13.4.1查看存储过程和函数的状态 236
13.4.2查看存储过程和函数的定义 237
13.4.3查看存储过程和函数的信息 238
13.5修改和删除存储过程和函数 239
13.5.1修改存储过程和函数 239
13.5.2删除存储过程和函数 240
13.5.3使用图形化工具查看和编辑存储过程和函数 240
本章实训 242
本章总结 244
知识考核 245
第14章 触发器 246
学习目标 246
14.1为什么要应用触发器 246
14.2创建触发器 246
14.2.1创建AFTER触发器 247
14.2.2创建BEFORE触发器 252
14.2.3使用图形化工具创建触发器 254
14.3查看触发器 255
14.3.1查看触发器 255
14.3.2查看触发器的详细信息 257
14.4删除触发器 258
14.4.1删除触发器 258
14.4.2使用图形化工具查看和删除触发器 259
本章实训 260
本章总结 261
知识考核 261
第4部分 管理维护篇 264
第15章MySQL日志管理 264
学习目标 264
15.1错误日志 264
15.1.1启动和设置错误日志 264
15.1.2查看错误日志 265
15.1.3删除错误日志 266
15.2二进制日志 266
15.2.1启动和设置二进制日志 266
15.2.2查看二进制日志 268
15.2.3删除二进制日志 270
15.3通用查询日志 272
15.3.1启动和设置通用查询日志 272
15.3.2查看通用查询日志 272
15.3.3删除通用查询日志 273
15.4慢查询日志 273
15.4.1启动和设置慢查询日志 273
15.4.2查看慢查询日志 274
15.4.3删除慢查询日志 275
本章实训 275
本章总结 276
知识考核 277
第16章 数据的备份与恢复 278
学习目标 278
16.1备份与恢复策略 278
16.2数据备份 279
16.2.1使用mysqldump备份数据库 279
16.2.2使用mysqldump备份数据表 280
16.3数据恢复 281
16.3.1使用MySQL命令恢复数据 281
16.3.2使用二进制日志恢复数据 282
16.4表的导出和导入 285
16.4.1使用SELECT...INTO OUTFILE导出文本文件 285
16.4.2使用mysqldump导出文本文件 288
16.4.3使用mysql命令导出文本文件 289
16.4.4使用LOAD DATA INFILE导入文本文件 291
16.4.5使用mysqlimnport导入文本文件 292
本章实训 293
本章总结 294
知识考核 295
第17章MySQL的权限与安全 296
学习目标 296
17.1 MySQL权限表 296
17.1.1 MySQL权限系统的工作原理 296
17.1.2权限表 297
17.2账号管理 300
17.2.1创建账号 300
17.2.2删除账号 302
17.2.3 root用户修改自身密码 302
17.2.4 root用户修改普通用户密码 304
17.2.5普通用户修改密码 305
17.2.6 root用户密码丢失的解决方法 306
17.3 MySQL权限管理 306
17.3.1 MySQL权限介绍 306
17.3.2查看账号权限 308
17.3.3给账号授权 309
17.3.4收回权限 310
本章实训 311
本章总结 313
知识考核 314
第5部分 实战篇 316
第18章 新闻发布系统数据库设计 316
学习目标 316
18.1需求分析 316
18.2系统功能 317
18.3数据库概念设计 317
18.4数据库逻辑结构与物理结构设计 319
18.4.1设计表 319
18.4.2设计索引 325
18.4.3设计视图 325
18.4.4设计触发器 326
参考文献 327