第1篇MySQL数据库基础篇
第1章数据库概述
1.1关于数据库的基本概念2
1.1.1数据管理技术的发展阶段2
1.1.2数据库系统阶段涉及的概念3
1.1.3数据库技术经历的阶段3
1.1.4数据库管理系统提供的功能4
1.1.5什么是SQL4
1.2MySQL数据库管理系统5
1.2.1MySQL与开源文化5
1.2.2MySQL发展历史5
1.2.3常见数据库管理系统7
1.2.4为什么要使用MySQL数据库7
1.3小结8
第2章MySQL安装和配置
2.1下载和安装MySQL软件9
2.1.1基于客户端——服务器(C/S)的数据库管理系统9
2.1.2MySQL的各种版本10
2.1.3下载MySQL软件10
2.1.4安装MySQL软件12
2.1.5图形化配置数据库服务器MySQL14
2.1.6手工配置数据库服务器MySQL17
2.1.7卸载MySQL软件20
2.2关于MySQL软件的常用操作21
2.2.1通过图形界面启动和关闭MySQL服务21
2.2.2通过DOS窗口启动和关闭MySQL服务23
2.3MySQL官方客户端软件24
2.3.1命令行客户端软件——MySQLCommandLineClient25
2.3.2通过DOS窗口连接MySQL软件26
2.3.3下载MySQL-Workbench客户端软件28
2.3.4安装MySQL-Workbench客户端软件29
2.3.5使用MySQL-Workbench客户端软件30
2.4MySQL常用图形化管理软件——SQLyog软件32
2.4.1下载SQLyog软件32
2.4.2安装SQLyog客户端软件33
2.4.3通过SQLyog客户端软件登录MySQL软件35
2.5使用免安装的MySQL软件35
2.6小结37
第2篇MySQL数据库操作和应用篇
第3章MySQL数据库基本操作
3.1数据库和数据库对象40
3.2数据库相关操作——创建数据库41
3.2.1创建数据库的语法形式41
3.2.2通过工具来创建数据库42
3.3数据库相关操作——查看和选择数据库44
3.3.1查看数据库44
3.3.2选择数据库45
3.4数据库相关操作——删除数据库46
3.4.1删除数据库的语法形式46
3.4.2通过工具来删除数据库47
3.5小结49
第4章MySQL数据库中存储引擎和数据类型
4.1认识存储引擎50
4.1.1MySQL5.5所支持的存储引擎50
4.1.2操作默认存储引擎53
4.1.3选择存储引擎55
4.2数据类型56
4.2.1整数类型56
4.2.2浮点数类型、定点数类型和位类型59
4.2.3日期和时间类型60
4.2.4字符串类型62
4.3小结64
第5章表的操作
5.1表的基本概念65
5.2创建表66
5.2.1创建表的语法形式66
5.2.2通过SQLyog客户端软件来创建表67
5.3查看表结构69
5.3.1DESCRIBE语句查看表定义69
5.3.2SHOWCREATETABLE语句查看表详细定义70
5.3.3通过SQLyog软件来查看表信息70
5.4删除表71
5.4.1删除表的语法形式72
5.4.2通过SQLyog软件删除表72
5.5修改表73
5.5.1修改表名73
5.5.2增加字段74
5.5.3删除字段78
5.5.4修改字段79
5.6通过SQLyog客户端软件修改表83
5.6.1修改表名84
5.6.2增加字段84
5.6.3删除字段87
5.6.4修改字段89
5.7操作表的约束93
5.7.1MySQL支持的完整性约束93
5.7.2设置非空约束(NOTNULL,NK)94
5.7.3设置字段的默认值(DEFAULT)95
5.7.4设置唯一约束(UNIQUE,UK)96
5.7.5设置主键约束(PRIMARYKEY,PK)97
5.7.6设置字段值自动增加(AUTO_INCREMENT)100
5.7.7设置外键约束(FOREIGNKEY,FK)102
5.8小结104
第6章索引的操作
6.1为什么使用索引105
6.2创建和查看索引106
6.2.1创建和查看普通索引106
6.2.2创建和查看唯一索引110
6.2.3创建和查看全文索引114
6.2.4创建和查看多列索引118
6.2.5通过SQLyog客户端软件来创建索引121
6.3删除索引125
6.3.1删除索引的语法形式125
6.3.2通过SQLyog软件删除索引127
6.4小结128
第7章视图的操作
7.1为什么使用视图129
7.2创建视图130
7.2.1创建视图的语法形式130
7.2.2通过SQLyog软件创建视图131
7.2.3创建各种视图132
7.3查看视图136
7.3.1SHOWTABLES语句查看视图名136
7.3.2SHOWTABLESTATUS语句查看视图详细信息136
7.3.3SHOWCREATEVIEW语句查看视图定义信息138
7.3.4DESCRIBE|DESC语句查看视图设计信息139
7.3.5通过系统表查看视图信息139
7.3.6SQLyog查看视图信息140
7.4删除视图142
7.4.1删除视图的语法形式142
7.4.2通过SQLyog软件删除视图143
7.5修改视图144
7.5.1CREATEORREPLACEVIEW语句修改视图144
7.5.2ALTER语句修改视图146
7.5.3通过SQLyog软件修改视图147
7.6利用视图操作基本表149
7.6.1检索(查询)数据149
7.6.2利用视图操作基本表数据150
7.7小结151
第8章触发器的操作
8.1为什么使用触发器152
8.2创建触发器153
8.2.1创建有一条执行语句的触发器153
8.2.2创建包含多条执行语句的触发器155
8.2.3通过SQLyog客户端软件来创建触发器157
8.3查看触发器158
8.3.1通过SHOWTRIGGERS语句查看触发器158
8.3.2通过查看系统表triggers实现查看触发器160
8.3.3通过SQLyog客户端软件来查看触发器162
8.4删除触发器163
8.4.1通过DROPTRIGGER语句删除触发器163
8.4.2通过工具来删除触发器164
8.5小结165
第9章数据的操作
9.1插入数据记录166
9.1.1插入完整数据记录166
9.1.2插入数据记录一部分168
9.1.3插入多条数据记录171
9.1.4插入查询结果174
9.1.5通过工具来插入数据记录176
9.2更新数据记录178
9.2.1更新特定数据记录179
9.2.2更新所有数据记录180
9.2.3通过工具来更新数据记录182
9.3删除数据记录184
9.3.1删除特定数据记录184
9.3.2删除所有数据记录185
9.3.3通过工具来删除数据记录187
9.4小结189
第10章单表数据记录查询
10.1简单数据记录查询190
10.1.1简单数据查询191
10.1.2避免重复数据查询——DISTINCT194
10.1.3实现数学四则运算数据查询196
10.1.4设置显示格式数据查询197
10.2条件数据记录查询198
10.2.1带关系运算符和逻辑运算符的条件数据查询199
10.2.2带BETWEENAND关键字的范围查询201
10.2.3带ISNULL关键字的空值查询203
10.2.4带IN关键字的集合查询204
10.2.5带LIKE关键字的模糊查询207
10.3排序数据记录查询213
10.3.1按照单字段排序213
10.3.2按照多字段排序215
10.4限制数据记录查询数量217
10.4.1不指定初始位置217
10.4.2指定初始位置219
10.5统计函数和分组数据记录查询221
10.5.1MySQL支持的统计函数222
10.5.2关于统计函数注意点227
10.5.3分组数据查询——简单分组查询228
10.5.4分组数据查询——实现统计功能分组查询230
10.5.5分组数据查询——实现多个字段分组查询231
10.5.6分组数据查询——实现HAVING子句限定分组查询234
10.6小结235
第11章多表数据记录查询
11.1关系数据操作237
11.1.1并(UNION)237
11.1.2笛卡儿积(CARTESIANPRODUCT)238
11.1.3内连接(INNERJOIN)239
11.1.4外连接(OUTERJOIN)241
11.2内连接查询243
11.2.1自连接244
11.2.2等值连接246
11.2.3不等连接250
11.3外连接查询252
11.3.1左外连接253
11.3.2右外连接254
11.4合并查询数据记录256
11.5子查询258
11.5.1为什么使用子查询259
11.5.2返回结果为单行单列和单行多列子查询259
11.5.3返回结果为多行单列子查询262
11.5.4返回结果为多行多列子查询268
11.6小结270
第12章使用MySQL运算符
12.1为什么要使用运算符271
12.2使用算术运算符271
12.3使用比较运算符273
12.3.1常用比较运算符274
12.3.2实现特殊功能比较运算符276
12.4使用逻辑运算符280
12.5使用位运算符283
12.6小结286
第13章使用MySQL常用函数
13.1使用字符串函数287
13.1.1合并字符串函数CONCAT()和CONCAT_WS()288
13.1.2比较字符串大小函数STRCMP()290
13.1.3获取字符串长度函数LENGTH()和字符数函数CHAR_LENGTH()290
13.1.4实现字母大小写转换函数UPPER()和字符数函数LOWER()292
13.1.5查找字符串293
13.1.6从现有字符串中截取子字符串296
13.1.7去除字符串的首尾空格297
13.1.8替换字符串299
13.2使用数值函数301
13.2.1获取随机数301
13.2.2获取整数的函数302
13.2.3截取数值函数303
13.2.4四舍五入函数303
13.3使用日期和时间函数304
13.3.1获取当前日期和时间的函数304
13.3.2通过各种方式显示日期和时间306
13.3.3获取日期和时间各部分值308
13.3.4计算日期和时间的函数311
13.4使用系统信息函数314
13.4.1获取MySQL系统信息315
13.4.2获取AUTO_INCREMENT约束的最后ID值315
13.4.3其他函数316
13.5小结317
第14章存储过程和函数的操作
14.1为什么使用存储过程和函数318
14.2创建存储过程和函数319
14.2.1创建存储过程语法形式319
14.2.2创建函数语法形式320
14.2.3创建简单的存储过程和函数321
14.2.4通过工具来创建存储过程和函数322
14.3关于存储过程和函数的表达式326
14.3.1操作变量326
14.3.2操作条件327
14.3.3使用游标328
14.3.4使用流程控制332
14.4查看存储过程和函数333
14.4.1通过SHOWPROCEDURESTATUS语句查看存储过程状态信息334
14.4.2通过SHOWFUNCTIONSTATUS语句查看函数状态信息335
14.4.3通过查看系统表information_schema.routines实现查看存储过程和函数的信息336
14.4.4通过SHOWCREATEPROCEDURE语句查看存储过程定义信息339
14.4.5通过SHOWCREATEFUNCTION语句查看函数定义信息340
14.4.6通过工具来查看存储过程和函数341
14.5修改存储过程和函数343
14.5.1修改存储过程343
14.5.2修改函数344
14.6删除存储过程和函数345
14.6.1通过DROP语句删除存储过程345
14.6.2通过DROPFUNCTION语句删除函数346
14.6.3通过工具来删除存储过程和函数346
14.7小结349
第15章MySQL事务
15.1事务概述350
15.2MySQL事务控制语句351
15.3MySQL事务隔离级别353
15.3.1READ-UNCOMMITTED(读取未提交内容)354
15.3.2READ-COMMITTED(读取提交内容)355
15.3.3REPEATABLE-READ(可重读)356
15.3.4Serializable(可串行化)357
15.4InnoDB锁机制360
15.4.1锁的类型360
15.4.2锁粒度361
15.5小结364
第3篇MySQL数据库管理篇
第16章MySQL安全性机制
16.1MySQL软件所提供的权限366
16.1.1系统表mysql.user366
16.1.2系统表mysql.db和mysql.host368
16.1.3其他权限表369
16.2MySQL软件所提供的用户机制372
16.2.1登录和退出MySQL软件的完整命令373
16.2.2创建普通用户账户375
16.2.3利用拥有超级权限用户root修改用户账户密码378
16.2.4利用拥有超级权限用户root修改普通用户账户密码382
16.2.5删除普通用户账户388
16.3权限管理390
16.3.1对用户进行授权390
16.3.2查看用户所拥有权限393
16.3.3收回用户所拥有权限394
16.4小结397
第17章MySQL日志管理
17.1MySQL软件所支持的日志398
17.2操作二进制日志399
17.2.1启动二进制日志399
17.2.2查看二进制日志400
17.2.3停止二进制日志402
17.2.4删除二进制日志402
17.3操作错误日志404
17.3.1启动错误日志404
17.3.2查看错误日志405
17.3.3删除错误日志405
17.4通用查询日志405
17.4.1启动通用查询日志406
17.4.2查看通用查询日志406
17.4.3停止通用查询日志407
17.4.4删除通用查询日志407
17.5慢查询日志408
17.5.1启动慢查询日志408
17.5.2查看慢查询日志409
17.5.3分析慢查询日志409
17.5.4停止慢查询日志410
17.5.5删除慢查询日志410
17.6小结410
第18章MySQL数据库维护和性能提高
18.1MySQL数据库维护411
18.1.1通过复制数据文件实现数据备份411
18.1.2通过命令mysqldump实现数据备份412
18.1.3通过复制数据文件实现数据还原417
18.1.4通过命令mysql实现数据还原417
18.1.5实现数据库表导出到文本文件420
18.1.6实现文本文件导入到数据库表424
18.1.7数据库迁移427
18.2通过SQLyog客户端软件实现数据库维护428
18.2.1通过SQLyog客户端软件进行备份操作428
18.2.2通过SQLyog客户端软件进行还原操作432
18.2.3通过SQLyog客户端软件进行导出操作433
18.2.4通过SQLyog客户端软件进行导入操作435
18.3MySQL数据库性能优化436
18.4小结437
第19章使用PowerDesigner进行数据库设计
19.1下载和安装PowerDesigner软件438
19.1.1下载PowerDesigner软件438
19.1.2安装PowerDesigner软件440
19.2使用PowerDesigner软件进行数据库设计442
19.2.1利用PowerDesigner软件设计概念数据模型442
19.2.2利用PowerDesigner软件设计物理数据模型451
19.2.3利用PowerDesigner软件创建数据库脚本452
19.3小结455