第1篇MySQL数据库基础篇 2
第1章 数据库概述 2
1.1关于数据库的基本概念 2
1.1.1数据管理技术的发展阶段 2
1.1.2数据库系统阶段涉及的概念 3
1.1.3数据库技术经历的阶段 3
1.1.4数据库管理系统提供的功能 4
1.1.5什么是SQL 4
1.2 MySQL数据库管理系统 5
1.2.1 MySQL与开源文化 5
1.2.2 MySQL发展历史 5
1.2.3常见数据库管理系统 7
1.2.4为什么要使用MySQL数据库 7
1.3小结 8
第2章MySQL安装和配置 9
2.1下载和安装MySQL软件 9
2.1.1基于客户端——服务器(C/S)的数据库管理系统 9
2.1.2 MySQL的各种版本 10
2.1.3下载MySQL软件 10
2.1.4安装MySQL软件 12
2.1.5图形化配置数据库服务器MySQL 14
2.1.6手工配置数据库服务器MySQL 17
2.1.7卸载MySQL软件 20
2.2关于MySQL软件的常用操作 21
2.2.1通过图形界面启动和关闭MySQL服务 21
2.2.2通过DOS窗口启动和关闭MySQL服务 23
2.3 MySQL官方客户端软件 24
2.3.1命令行客户端软件——MySQL Command Line Client 25
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.4 MySQL常用图形化管理软件——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数据库操作和应用篇 40
第3章MySQL数据库基本操作 40
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数据库中存储引擎和数据类型 50
4.1认识存储引擎 50
4.1.1 MySQL 5.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章 表的操作 65
5.1表的基本概念 65
5.2创建表 66
5.2.1创建表的语法形式 66
5.2.2通过SQLyog客户端软件来创建表 67
5.3查看表结构 69
5.3.1 DESCRIBE语句查看表定义 69
5.3.2 SHOW CREATE TABLE语句查看表详细定义 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.1 MySQL支持的完整性约束 93
5.7.2设置非空约束(NOT NULL,NK) 94
5.7.3设置字段的默认值(DEFAULT) 95
5.7.4设置唯一约束(UNIQUE,UK) 96
5.7.5设置主键约束(PRIMARY KEY,PK) 97
5.7.6设置字段值自动增加(AUTO INCREMENT) 100
5.7.7设置外键约束(FOREIGN KEY, FK) 102
5.8小结 104
第6章 索引的操作 105
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章 视图的操作 129
7.1为什么使用视图 129
7.2创建视图 130
7.2.1创建视图的语法形式 130
7.2.2通过SQLyog软件创建视图 131
7.2.3创建各种视图 132
7.3查看视图 136
7.3.1 SHOW TABLES语句查看视图名 136
7.3.2 SHOW TABLE STATUS语句查看视图详细信息 136
7.3.3 SHOW CREATE VIEW语句查看视图定义信息 138
7.3.4 DESCRIBE DESC语句查看视图设计信息 139
7.3.5通过系统表查看视图信息 139
7.3.6 SQLyog查看视图信息 140
7.4删除视图 142
7.4.1删除视图的语法形式 142
7.4.2通过SQLyog软件删除视图 143
7.5修改视图 144
7.5.1 CREATE OR REPLACE VIEW语句修改视图 144
7.5.2 ALTER语句修改视图 146
7.5.3通过SQLyog软件修改视图 147
7.6利用视图操作基本表 149
7.6.1检索(查询)数据 149
7.6.2利用视图操作基本表数据 150
7.7小结 151
第8章 触发器的操作 152
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通过SHOW TRIGGERS语句查看触发器 158
8.3.2通过查看系统表triggers实现查看触发器 160
8.3.3通过SQLyog客户端软件来查看触发器 162
8.4删除触发器 163
8.4.1通过DROP TRIGGER语句删除触发器 163
8.4.2通过工具来删除触发器 164
8.5小结 165
第9章 数据的操作 166
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章 单表数据记录查询 190
10.1简单数据记录查询 190
10.1.1简单数据查询 191
10.1.2避免重复数据查询——DISTINCT 194
10.1.3实现数学四则运算数据查询 196
10.1.4设置显示格式数据查询 197
10.2条件数据记录查询 198
10.2.1带关系运算符和逻辑运算符的条件数据查询 199
10.2.2带 BETWEEN AND关键字的范围查询 201
10.2.3带IS NULL关键字的空值查询 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.1 MySQL支持的统计函数 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章 多表数据记录查询 237
11.1关系数据操作 237
11.1.1并(UNION) 237
11.1.2笛卡儿积(CARTESIAN PRODUCT) 238
11.1.3内连接(INNER JOIN) 239
11.1.4外连接(OUTER JOIN) 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运算符 271
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常用函数 287
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章 存储过程和函数的操作 318
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通过SHOW PROCEDURE STATUS语句查看存储过程状态信息 334
14.4.2通过SHOW FUNCTION STATUS语句查看函数状态信息 335
14.4.3通过查看系统表information_schema.routines实现查看存储过程和函数的信息 336
14.4.4通过SHOW CREATE PROCEDURE语句查看存储过程定义信息 339
14.4.5通过SHOW CREATE FUNCTION语句查看函数定义信息 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通过DROP FUNCTION语句删除函数 346
14.6.3通过工具来删除存储过程和函数 346
14.7小结 349
第15章MySQL事务 350
15.1事务概述 350
15.2 MySQL事务控制语句 351
15.3 MySQL事务隔离级别 353
15.3.1 READ-UNCOMMITTED(读取未提交内容) 354
15.3.2 READ-COMMITTED(读取提交内容) 355
15.3.3 REPEATABLE-READ(可重读) 356
15.3.4 Serializable(可串行化) 357
15.4 1nnoDB锁机制 360
15.4.1锁的类型 360
15.4.2锁粒度 361
15.5小结 364
第3篇MySQL数据库管理篇 366
第16章MySQL安全性机制 366
16.1 MySQL软件所提供的权限 366
16.1.1系统表mysql.user 366
16.1.2系统表 mysql.db和mysql.host 368
16.1.3其他权限表 369
16.2 MySQL软件所提供的用户机制 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日志管理 398
17.1 MySQL软件所支持的日志 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数据库维护和性能提高 411
18.1 MySQL数据库维护 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.3 MySQL数据库性能优化 436
18.4小结 437
第19章 使用PowerDesigner进行数据库设计 438
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