目 录
第 1章初识 MySQL 1
11 数据库基础 1
111 什么是数据库 1
112 表 2
113 数据类型 2
114 主键 2
12 数据库技术构成 2
121 数据库系统 3
122 SQL语言 3
123 数据库访问技术 4
13 什么是 MySQL 5
131 客户机-服务器软件 5
132 MySQL版本 6
133 MySQL的优势 7
14 MySQL工具 7
141 mysql命令行实用程序 7
142 MySQL Workbench8
15 如何学习 MySQL 8
第 2章 MySQL的安装与配置10
21 Windows平台下安装与配置 MySQL 55 10
211 安装 MySQL 55 10
212 配置 MySQL 55 16
22 启动服务并登录 MySQL数据库 23
221 启动 MySQL服务 23
222 登录 MySQL数据库 24
223 配置 Path变量 26
23 更改 MySQL的配置 28
231 通过配置向导来更改配置 28
232 手工更改配置 30
11 数据库基础avi/6分钟
12 数据库技术构成avi/8分钟
13 什么是 MySQLavi/8分钟
14 MySQL工具avi/3分钟
15 如何学习 MySQLavi/2分钟
21 Windows平台下安装与配置 MySQL 55avi/20分钟
22 启动服务并登录 MySQL数据库avi/8分钟
23 更改 MySQL的配置avi/8分钟
24 MySQL常用图形管理工具avi/4分钟
25 Linux平台下安装与配置 MySQL 55avi/8分钟
24 MySQL常用图形管理工具 32
25 Linux平台下安装与配置 MySQL 5533
251 Linux操作系统下的 MySQL版本介绍 33
252 安装和配置 MySQL的 RPM包 35
253 安装和配置 MySQL的源码包 38
26 专家点拨 39
点拨 1:MySQL必须注册为系统服务吗? 39
点拨 2:MySQL安装失败? 40
27 经典习题 40
第 3章数据库的基本操作41
31 创建数据库 41
32 删除数据库 42
33 数据库存储引擎 43
331 MySQL存储引擎简介 43
332 InnoDB存储引擎 44
333 MyISAM存储引擎 45
334 MEMORY存储引擎 45
335 存储引擎的选择 46
34 综合案例——数据库的创建和删除47
35 专家点拨 49
点拨:如何查看默认存储引擎? 49
36 经典习题 49
第 4章数据表的基本操作50
41 创建数据表 50
411 创建表的语法形式 50
412 使用主键约束 52
413 使用外键约束 53
414 使用非空约束 54
415 使用唯一性约束 55
416 使用默认约束 56
417 设置表的属性值自动增加 56
42 查看数据表结构 57
421 查看表基本结构语句 DESCRIBE 57
422 查看表详细结构语句 SHOW CREATE TABLE 58
31 创建数据库avi/5分钟
32 删除数据库avi/3分钟
33 数据库存储引擎avi/10分钟
34 综合案例——数据库的创建和删除avi/3分钟
41 创建数据表avi/21分钟
42 查看数据表结构avi/7分钟
43 修改数据表avi/26分钟
44 删除数据表avi/8分钟
45 综合案例——数据表的基本操作avi /10分钟
43 修改数据表 60
431 修改表名 60
432 修改字段的数据类型 61
433 修改字段名 62
434 添加字段 63
435 删除字段 65
436 修改字段的排列位置 66
437 更改表的存储引擎 68
438 删除表的外键约束 69
44 删除数据表 70
441 删除没有被关联的表 71
442 删除被其他表关联的主表 71
45 综合案例——数据表的基本操作73
46 专家点拨 82 点拨 1:表删除操作须谨慎。 82点拨 2:每一个表中都要有一个主键吗? 82点拨 3:并不是每个表都可以任意选择存储引擎。 83点拨 4:带 AUTO_INCREMENT约束的字段值是从 1开始的吗? 83
47 经典习题 83
第 5章数据类型和运算符85
51 MySQL数据类型介绍 85
511 整数类型 85
512 浮点数类型和定点数类型 87
513 日期与时间类型 89
514 字符串类型 102
515 二进制类型 107
52 如何选择数据类型 110
53 常见运算符介绍 112
531 运算符概述 112
532 算术运算符 112
533 比较运算符 114
534 逻辑运算符 122
535 位运算符 125
536 运算符的优先级 128
54 综合案例——运算符的使用129
55 专家点拨 131
51 MySQL数据类型介绍avi/63分钟
52 如何选择数据类型avi/6分钟
53 常见运算符介绍avi/55分钟
54 综合案例——运算符的使用avi /7分钟
点拨 1:MySQL中如何使用特殊字符? 131点拨 2:MySQL中可以存储文件吗? 131点拨 3:MySQL中如何执行区分大小写的字符串比较? 131
56 经典习题 132
第 6章 MySQL函数 133
61 MySQL函数简介 133
62 数学函数 133
621 绝对值函数 ABS(x)和返回圆周率的函数 PI() 134
622 平方根函数 SQRT(x)和求余函数 MOD(x,y) 134
623 获取整数的函数 CEIL(x)、CEILING(x)和 FLOOR(x) 135
624 获取随机数的函数 RAND()和 RAND(x) 135
625 四舍五入函数 ROUND(x)、ROUND(x,y)和 TRUNCATE(x,y) 136
626 符号函数 SIGN(x) 137
627 幂运算函数 POW(x,y)、POWER(x,y)和 EXP(x) 138
628 对数运算函数 LOG(x)和 LOG10(x) 138
629 角度与弧度相互转换的函数 RADIANS(x) 和 DEGREES(x) 139
6210 正弦函数 SIN(x)和反正弦函数 ASIN(x) 139
6211 余弦函数 COS(x)和反余弦函数 ACOS(x) 140
6212 正切函数、反正切函数和余切函数 140
63 字符串函数 141
631 计算字符串字符数的函数和字符串长度的函数 141
632 合并字符串函数 CONCAT(s1,s2,…)、 CONCAT_WS(x,s1,s2,…) 142
633 替换字符串的函数 INSERT(s1,x,len,s2) 143
634 字母大小写转换函数 143
635 获取指定长度的字符串的函数 LEFT(s,n)和 RIGHT(s,n) 144
636 填充字符串的函数 LPAD(s1,len,s2)和 RPAD(s1,len,s2) 145
61 MySQL函数简介avi/2分钟
62 数学函数avi/24分钟
63 字符串函数avi/32分钟
64 日期和时间函数avi/39分钟
65 条件判断函数avi/7分钟
66 系统信息函数avi/10分钟
67 加密函数avi/5分钟
68 其他函数avi/13分钟
69 综合案例——MySQL函数的使用avi /9分钟
637 删除空格的函数 LTRIM(s)、RTRIM(s)和 TRIM(s) 145
638 删除指定字符串的函数 TRIM(s1 FROM s) 146
639 重复生成字符串的函数 REPEAT(s,n) 147
6310 空格函数 SPACE(n)和替换函数 REPLACE(s,s1,s2) 147
6311 比较字符串大小的函数 STRCMP(s1,s2) 148
6312 获取子串的函数 SUBSTRING(s,n,len)和 MID(s,n,len) 148
6313 匹配子串开始位置的函数 149
6314 字符串逆序的函数 REVERSE(s) 149
6315 返回指定位置的字符串的函数 150
6316 返回指定字符串位置的函数 FIELD(s,s1,s2,…) 150
6317 返回子串位置的函数FIND_IN_SET(s1,s2) 151
6318 选取字符串的函数MAKE_SET(x,s1,s2,…) 151
64 日期和时间函数 152
641 获取当前日期的函数和获取当前时间的函数 152
642 获取当前日期和时间的函数 152
643 UNIX时间戳函数 153
644 返回 UTC日期的函数和返回 UTC时间的函数 154
645 获取月份的函数 MONTH(date)和 MONTHNAME(date) 154
646 获取星期的函数 DAYNAME(d)、 DAYOFWEEK(d)和 WEEKDAY(d) 155
647 获取星期数的函数 WEEK(d)和 WEEKOFYEAR(d) 156
648 获取天数的函数 DAYOFYEAR(d)和 DAYOFMONTH(d) 157
649 获取年份、季度、小时、分钟和秒钟的函数 157
6410 获取日期的指定值的函数 EXTRACT(type FROM date)158
6411 时间和秒钟转换的函数 159
6412 计算日期和时间的函数 159
6413 将日期和时间格式化的函数 162
65 条件判断函数 165
651 IF(expr,v1,v2)函数 165
652 IFNULL(v1,v2)函数 166
653 CASE函数 166
66 系统信息函数 167
661 获取 MySQL版本号、连接数和数据库名的函数 167
662 获取用户名的函数 169
663 获取字符串的字符集和排序方式的函数 170
664 获取最后一个自动生成的 ID值的函数 170
67 加密函数 172
671 加密函数 PASSWORD(str) 172
672 加密函数 MD5(str) 173
673 加密函数 ENCODE(str,pswd_str) 173
674 解密函数 DECODE(crypt_str,pswd_str) 174
68 其他函数 174
681 格式化函数 FORMAT(x,n) 174
682 不同进制的数字进行转换的函数 174
683 IP地址与数字相互转换的函数 175
684 加锁函数和解锁函数 176
685 重复执行指定操作的函数 177
686 改变字符集的函数 177
687 改变数据类型的函数 178
69 综合案例——MySQL函数的使用 178
610 专家点拨 182 点拨 1:如何从日期时间值中获取年、月、日等部分日期或时间值? 182点拨 2:如何改变默认的字符集? 182
611 经典习题 183
第 7章查询数据 184
71 基本查询语句 184
72 单表查询 186
721 查询所有字段 186
722 查询指定字段 187
723 查询指定记录 189
724 带 IN关键字的查询 190
725 带 BETWEEN AND的范围查询 191
71 基本查询语句avi/6分钟
72 单表查询avi/47分钟
73 使用集合函数查询avi/13分钟
74 连接查询avi/14分钟
75 子查询avi/17分钟
76 合并查询结果avi/5分钟
77 为表和字段取别名avi/8分钟
78 使用正则表达式查询avi/19分钟
79 综合案例——数据表查询操作avi /14分钟
726 带 LIKE的字符匹配查询 192
727 查询空值 194
728 带 AND的多条件查询 195
729 带 OR的多条件查询 196
7210 查询结果不重复 197
7211 对查询结果排序 198
7212 分组查询 201
7213 使用 LIMIT限制查询结果的数量 205
73 使用集合函数查询 206
731 COUNT()函数 206
732 SUM()函数 208
733 AVG()函数 208
734 MAX()函数 209
735 MIN()函数 210
74 连接查询 211
741 内连接查询 211
742 外连接查询 213
743 复合条件连接查询 215
75 子查询 216
751 带 ANY、SOME关键字的子查询 216
752 带 ALL关键字的子查询 216
753 带 EXISTS关键字的子查询 217
754 带 IN关键字的子查询 218
755 带比较运算符的子查询 220
76 合并查询结果 221
77 为表和字段取别名 223
771 为表取别名 223
772 为字段取别名 225
78 使用正则表达式查询 226
781 查询以特定字符或字符串开头的记录 227
782 查询以特定字符或字符串结尾的记录 227
783 用符号""来替代字符串中的任意一个字符 228
784 使用"*"和"+"来匹配多个字符 228
785 匹配指定字符串 229
786 匹配指定字符中的任意一个 230
787 匹配指定字符以外的字符 231
788 使用{n,}或者{n,m}来指定字符串连续出现的次数 231
79 综合案例——数据表查询操作232
710 专家点拨 239 点拨 1:DISTINCT可以应用于所有的列吗? 239点拨 2:ORDER BY可以和 LIMIT混合使用吗? 239点拨 3:什么时候使用引号? 239点拨 4:在 WHERE子句中必须使用圆括号吗? 239点拨 5:为什么使用通配符格式正确,却没有查找出符合条件的记录? 239
711 经典习题 239
第 8章插入、更新与删除数据 241
81 插入数据 241
811 为表的所有字段插入数据 241
812 为表的指定字段插入数据 243
813 同时插入多条记录 244
814 将查询结果插入到表中 246
82 更新数据 247
83 删除数据 249
84 综合案例——记录的插入、更新和删除251
85 专家点拨 255 点拨 1:插入记录时可以不指定字段名称吗? 255点拨 2:更新或者删除表时必须指定 WHERE 子句吗? 255
86 经典习题 255
第 9章索引 257
91 索引简介 257
911 索引的含义和特点 257
912 索引的分类 258
913 索引的设计原则 258
92 创建索引 259
921 创建表的时候创建索引 259
922 在已经存在的表上创建索引 264
93 删除索引 270
94 综合案例——创建索引 271
95 专家点拨 274 点拨 1:索引对数据库性能如此重要,应该如何
81 插入数据avi/19分钟
82 更新数据avi/5分钟
83 删除数据avi/4分钟
84 综合案例——记录的插入、更新和删除avi/7分钟
91 索引简介avi/9分钟
92 创建索引avi/26分钟
93 删除索引avi/4分钟
94 综合案例——创建索引avi/7分钟
使用它? 274
点拨 2:尽量使用短索引。 275
96 经典习题 275
第 10章存储过程和函数 276
101 创建存储过程和函数 276
1011 创建存储过程 276
1012 创建存储函数 279
1013 变量的使用 280
1014 定义条件和处理程序 281
1015 光标的使用 284
1016 流程控制的使用 285
102 调用存储过程和函数 290
1021 调用存储过程 290
1022 调用存储函数 291
103 查看存储过程和函数 292
1031 SHOW STATUS语句查看存储过程和函数的状态 292
1032 SHOW CREATE语句查看存储过程和函数的定义 293
1033 从 information_schemaRoutines表中查看存储过程和函数的信息 293
104 修改存储过程和函数 295
105 删除存储过程和函数 297
106 综合案例——创建存储过程和函数297
107 专家点拨 301 点拨 1:MySQL存储过程和函数有什么区别? 301点拨 2:存储过程中的代码可以改变吗? 301点拨 3:存储过程中可以调用其他存储过程吗? 301点拨 4:存储过程的参数不要与数据表中的字段名相同。 301点拨 5:存储过程的参数可以使用中文吗? 301
108 经典习题 302
第 11章视图 303
111 视图概述 303
1111 视图的含义 303
101 创建存储过程和函数avi/39分钟
102 调用存储过程和函数avi/7分钟
103 查看存储过程和函数avi/7分钟
104 修改存储过程和函数avi/6分钟
105 删除存储过程和函数avi/3分钟
106 综合案例——创建存储过程和函数avi/8分钟
111 视图概述avi/5分钟
112 创建视图avi/11分钟
1112 视图的作用 304
112 创建视图 305
1121 创建视图的语法形式 305
1122 在单表上创建视图 305
1123 在多表上创建视图 307
113 查看视图 308
1131 DESCRIBE语句查看视图基本信息 308
1132 SHOW TABLE STATUS语句查看视图基本信息 308
1133 SHOW CREATE VIEW语句查看视图详细信息 310
1134 在 views表中查看视图详细信息 310
114 修改视图 312
1141 CREATE OR REPLACE VIEW语句修改视图 312
1142 ALTER语句修改视图 313
115 更新视图 314
116 删除视图 317
117 综合案例——视图应用 318
118 专家点拨 327 点拨 1:MySQL中视图和表的区别以及联系是什么? 327
119 经典习题 327
第 12章 MySQL函数 328
121 创建触发器 328
1211 创建只有一个执行语句的触发器 328
1212 创建有多个执行语句的触发器 329
122 查看触发器 332
1221 SHOW TRIGGERS语句查看触发器信息 332
1222 在 triggers表中查看触发器信息 334
123 触发器的使用 335
124 删除触发器 336
125 综合案例——触发器使用336
126 专家点拨 339
点拨 1:使用触发器时须特别注意。 339
点拨 2:及时删除不再需要的触发器。 339
127 经典习题 339
113 查看视图avi/6分钟
114 修改视图avi/4分钟
115 更新视图avi/4分钟
116 删除视图avi/2分钟
117 综合案例——视图应用avi/11分钟
121 创建触发器avi/15分钟
122 查看触发器avi/5分钟
123 触发器的使用avi/4分钟
124 删除触发器avi/2分钟
125 综合案例——触发器使用avi/4分钟
第 13章 MySQL用户管理 340
131 权限表 340
1311 user表 340
1312 db表和 host表 343
1313 tables_priv表和 columns_priv表 345
1314 procs_priv表 346
132 账户管理 346
1321 登录和退出 MySQL服务器 346
1322 新建普通用户 348
1323 删除普通用户 352
1324 root用户修改自己的密码 354
1325 root用户修改普通用户密码 355
1326 普通用户修改密码 357
1327 root用户密码丢失的解决办法 357
133 权限管理 359
1331 MySQL的各种权限 359
1332 授权 361
1333 收回权限 363
1334 查看权限 364
134 访问控制 365
1341 连接核实阶段 365
1342 请求核实阶段 365
135 综合案例——综合管理用户权限366
136 专家点拨 370 点拨1:已经将一个账户的信息从数据库中完全删除,为什么该用户还能登录数据库? 370点拨 2:应该使用哪种方法创建用户? 370
137 经典习题 371
第 14章数据备份与还原 372
141 数据备份 372
1411 使用 mysqldump命令备份 372
1412 直接复制整个数据库目录 379
1413 使用 mysqlhotcopy工具快速备份 380
142 数据还原 380
1421 使用 mysql命令还原 380
1422 直接复制到数据库目录 381
131 权限表avi/11分钟
132 账户管理avi/39分钟
133 权限管理avi/15分钟
134 访问控制avi/5分钟
135 综合案例——综合管理用户权限avi /10分钟
141 数据备份avi/15分钟
142 数据还原avi/7分钟
143 数据库迁移avi/6分钟
144 表的导出和导入avi/31分钟
145 综合案例——数据的备份与恢复avi /7分钟
1423 mysqlhotcopy快速恢复 381
143 数据库迁移 382
1431 相同版本的 MySQL数据库之间的迁移 382
1432 不同版本的 MySQL数据库之间的迁移 382
1433 不同数据库之间的迁移 383
144 表的导出和导入 383
1441 用 SELECT…INTO OUTFILE导出文本文件 383
1442 用 mysqldump命令导出文本文件 387
1443 用 mysql命令导出文本文件 389
1444 使用 LOAD DATA INFILE方式导入文本文件 393
1445 使用 mysqlimport命令导入文本文件 395
145 综合案例——数据的备份与恢复397
146 专家点拨 402 点拨 1:mysqldump备份的文件只能在 MySQL中使用吗? 402点拨 2:如何选择备份工具? 402点拨 3:使用 mysqldump备份整个数据库成功,把表和数据库都删除了,但使用备份文件却不能恢复数据库? 402
147 经典习题 403
第 15章 MySQL日志 404
151 日志简介 404
152 二进制日志 405
1521 启动和设置二进制日志 405
1522 查看二进制日志 406
1523 删除二进制日志 408
1524 使用二进制日志还原数据库 410
1525 暂时停止二进制日志功能 411
153 错误日志 411
1531 启动和设置错误日志 411
1532 查看错误日志 412
1533 删除错误日志 413
154 通用查询日志 413
1541 启动和设置通用查询日志 413
1542 查看通用查询日志 413
151 日志简介avi/2分钟
152 二进制日志avi/20分钟
153 错误日志avi/7分钟
154 通用查询日志avi/6分钟
155 慢查询日志avi/5分钟
156 综合案例——MySQL日志的综合管理avi/16分钟
1543 删除通用查询日志 414
155 慢查询日志 415
1551 启动和设置慢查询日志 415
1552 查看慢查询日志 415
1553 删除慢查询日志 416
156 综合案例——MySQL日志的综合管理416
157 专家点拨 422
点拨 1:平时应该打开哪些日志? 422
点拨 2:如何使用二进制日志? 422
点拨 3:如何使用慢查询日志? 423
158 经典习题 423
第 16章性能优化 424
161 优化简介 424
162 优化查询 425
1621 分析查询语句 425
1622 索引对查询速度的影响 428
1623 使用索引查询 429
1624 优化子查询 432
163 优化数据库结构 432
1631 将字段很多的表分解成多个表 432
1632 增加中间表 433
1633 增加冗余字段 435
1634 优化插入记录的速度 435
1635 分析表、检查表和优化表 437
164 优化 MySQL服务器 439
1641 优化服务器硬件 439
1642 优化 MySQL的参数 439
165 综合案例——全面优化 MySQL服务器441
166 专家点拨 443 点拨 1:是不是索引建立得越多越好? 443点拨 2:为什么查询语句中的索引没有起作用? 443点拨 3:如何使用查询缓冲区? 443
167 经典习题443
161 优化简介avi/3分钟
162 优化查询avi/19分钟
163 优化数据库结构avi/17分钟
164 优化 MySQL服务器avi/4分钟
165 综合案例——全面优化 MySQL 服务器avi/5分钟
