标题：MySQL入门很简单
基本信息
作者： 黄缙华
出版社：清华大学出版社 
ISBN：9787302243625
上架时间：2011-1-20
出版日期：2011 年1月
开本：16开
页码：466
版次：1-1
作者简介
黄缙华 毕业于华北电力大学，获硕士学位。致力于MySQL、Linux和Java等开源技术的研究，担任国内知名Linux论坛的数据库版的版主。长期参与电力行业项目开发，从事电力系统图形、数据、模型一体化的研究。业余喜欢羽毛球、乒乓球、游泳等运动。
内容简介
本书从初学者的角度出发，由浅入深，循序渐进地介绍了mysql数据库应用与开发的相关知识。书中提供了大量操作mysql数据库的示例，还提供了大量实例和上机实践内容，供读者演练。本书附带1张dvd光盘，内容为与本书内容完全配套的多媒体教学视频和本书涉及的源代码。
本书共分5篇。第1篇介绍数据库的基本知识、在windows平台下安装mysql数据库、在linux平台下安装mysql数据库；第2篇介绍mysql数据类型、创建和删除数据库、数据库存储引擎、创建表、修改表、删除表、索引、视图、触发器；第3篇介绍查询数据、插入数据、更新数据、删除数据、mysql运算符、mysql函数、存储过程和函数；第4篇介绍mysql用户管理、数据备份、数据还原、mysql日志、性能优化；第5篇介绍java访问mysql数据库、php访问mysql数据库、c#访问mysql数据库，最后还提供了一个项目实战案例。
本书涉及面广，几乎涉及mysql数据库应用与开发的所有重要知识，适合所有的mysql数据库初学者快速入门，也适合mysql数据库管理员和想全面学习mysql数据库技术的人员阅读。另外，对于大中专院校和培训班的学生，本书更是一本不可多得的教材。
目录
第1篇 mysql数据库基础 
第1章 数据库概述（ 教学视频：10分钟） 2 
1.1 数据库理论基础 2 
1.1.1 数据存储方式 2 
1.1.2 数据库泛型 3 
1.1.3 数据库在开发中作用 4 
1.2 数据库技术构成 4 
1.2.1 数据库系统 4 
1.2.2 sql语言 5 
1.2.3 数据库访问技术 5 
1.3 mysql基础 6 
1.3.1 常见数据库系统 6 
1.3.2 为什么要使用mysql 7 
1.3.3 mysql版本和获取 8 
1.4 如何学习数据库 9 
1.5 常见问题及解答 10 
1.6 小结 10 
1.7 本章习题 10 
第2章 windows平台下安装与配置mysql（ 教学视频：52分钟） 11 
2.1 安装与配置mysql 11 
.2.1.1 安装mysql 11 
2.1.2 配置mysql 14 
2.2 启动服务并登录mysql数据库 19 
2.2.1 启动mysql服务 19 
2.2.2 登录mysql数据库 20 
2.2.3 配置path变量 22 
2.3 更改mysql的配置 23 
2.3.1 通过配置向导来更改配置 23 
2.3.2 手工更改配置 24 
2.4 mysql常用图形管理工具 27 
2.5 使用免安装的mysql 28 
2.6 上机实践 30 
2.7 常见问题及解答 31 
2.8 小结 31 
2.9 本章习题 31 
第3章 linux平台下安装与配置mysql（ 教学视频：7分钟） 32 
3.1 linux操作系统下的mysql版本介绍 32 
3.2 安装和配置mysql的rpm包 33 
3.3 安装和配置mysql的二进制包 37 
3.4 安装和配置mysql的源码包 41 
3.5 上机实践 45 
3.6 常见问题及解答 46 
3.7 小结 46 
3.8 本章习题 47 
第2篇 mysql数据库基本操作 
第4章 mysql数据类型（ 教学视频：92分钟） 50 
4.1 mysql数据类型介绍 50 
4.1.1 整数类型 50 
4.1.2 浮点数类型和定点数类型 52 
4.1.3 日期与时间类型 53 
4.1.4 字符串类型 60 
4.1.5 二进制类型 63 
4.2 如何选择数据类型 65 
4.3 常见问题及解答 67 
4.4 小结 67 
4.5 本章习题 67 
第5章 操作数据库（ 教学视频：29分钟） 68 
5.1 创建数据库 68 
5.2 删除数据库 69 
5.3 数据库存储引擎 70 
5.3.1 mysql存储引擎简介 70 
5.3.2 innodb存储引擎 73 
5.3.3 myisam存储引擎 73 
5.3.4 memory存储引擎 74 
5.3.5 存储引擎的选择 74 
5.4 本章实例 75 
5.5 上机实践 77 
5.6 常见问题及解答 78 
5.7 小结 78 
5.8 本章习题 78 
第6章 创建、修改和删除表（ 教学视频：113分钟） 79 
6.1 创建表 79 
6.1.1 创建表的语法形式 79 
6.1.2 设置表的主键 80 
6.1.3 设置表的外键 81 
6.1.4 设置表的非空约束 82 
6.1.5 设置表的唯一性约束 82 
6.1.6 设置表的属性值自动增加 82 
6.1.7 设置表的属性的默认值 83 
6.2 查看表结构 84 
6.2.1 查看表基本结构语句describe 84 
6.2.2 查看表详细结构语句show create table 84 
6.3 修改表 85 
6.3.1 修改表名 85 
6.3.2 修改字段的数据类型 86 
6.3.3 修改字段名 87 
6.3.4 增加字段 89 
6.3.5 删除字段 93 
6.3.6 修改字段的排列位置 94 
6.3.7 更改表的存储引擎 96 
6.3.8 删除表的外键约束 97 
6.4 删除表 98 
6.4.1 删除没有被关联的普通表 98 
6.4.2 删除被其他表关联的父表 99 
6.5 本章实例 100 
6.6 上机实践 106 
6.7 常见问题及解答 109 
6.8 小结 110 
6.9 本章习题 110 
第7章 索引（ 教学视频：82分钟） 112 
7.1 索引简介 112 
7.1.1 索引的含义和特点 112 
7.1.2 索引的分类 113 
7.1.3 索引的设计原则 114 
7.2 创建索引 115 
7.2.1 创建表的时候创建索引 115 
7.2.2 在已经存在的表上创建索引 119 
7.2.3 用alter table语句来创建索引 121 
7.3 删除索引 123 
7.4 本章实例 124 
7.5 上机实践 128 
7.6 常见问题及解答 130 
7.7 小结 130 
7.8 本章习题 130 
第8章 视图（ 教学视频：80分钟） 131 
8.1 视图简介 131 
8.1.1 视图的含义 131 
8.1.2 视图的作用 132 
8.2 创建视图 133 
8.2.1 创建视图的语法形式 133 
8.2.2 在单表上创建视图 134 
8.2.3 在多表上创建视图 135 
8.3 查看视图 136 
8.3.1 describe语句查看视图基本信息 136 
8.3.2 show table status语句查看视图基本信息 137 
8.3.3 show create view语句查看视图详细信息 138 
8.3.4 在views表中查看视图详细信息 139 
8.4 修改视图 140 
8.4.1 create or replace view语句修改视图 140 
8.4.2 alter语句修改视图 141 
8.5 更新视图 142 
8.6 删除视图 145 
8.7 本章实例 146 
8.8 上机实践 150 
8.9 常见问题及解答 152 
8.10 小结 152 
8.11 本章习题 153 
第9章 触发器（ 教学视频：59分钟） 154 
9.1 创建触发器 154 
9.1.1 创建只有一个执行语句的触发器 154 
9.1.2 创建有多个执行语句的触发器 155 
9.2 查看触发器 156 
9.2.1 show triggers语句查看触发器信息 156 
9.2.2 在triggers表中查看触发器信息 157 
9.3 触发器的使用 159 
9.4 删除触发器 160 
9.5 本章实例 160 
9.6 上机实践 163 
9.7 常见问题及解答 164 
9.8 小结 164 
9.9 本章习题 165 
第3篇 sql查询语句 
第10章 查询数据（ 教学视频：207分钟） 168 
10.1 基本查询语句 168 
10.2 单表查询 170 
10.2.1 查询所有字段 170 
10.2.2 查询指定字段 171 
10.2.3 查询指定记录 172 
10.2.4 带in关键字的查询 173 
10.2.5 带between and的范围查询 174 
10.2.6 带like的字符匹配查询 175 
10.2.7 查询空值 177 
10.2.8 带and的多条件查询 178 
10.2.9 带or的多条件查询 179 
10.2.10 查询结果不重复 181 
10.2.11 对查询结果排序 182 
10.2.12 分组查询 184 
10.2.13 用limit限制查询结果的数量 188 
10.3 使用集合函数查询 190 
10.3.1 count()函数 190 
10.3.2 sum()函数 191 
10.3.3 avg()函数 192 
10.3.4 max()函数 193 
10.3.5 min()函数 194 
10.4 连接查询 195 
10.4.1 内连接查询 195 
10.4.2 外连接查询 196 
10.4.3 复合条件连接查询 198 
10.5 子查询 199 
10.5.1 带in关键字的子查询 199 
10.5.2 带比较运算符的子查询 200 
10.5.3 带exists关键字的子查询 203 
10.5.4 带any关键字的子查询 205 
10.5.5 带all关键字的子查询 206 
10.6 合并查询结果 207 
10.7 为表和字段取别名 208 
10.7.1 为表取别名 208 
10.7.2 为字段取别名 209 
10.8 使用正则表达式查询 211 
10.8.1 查询以特定字符或字符串开头的记录 211 
10.8.2 查询以特定字符或字符串结尾的记录 212 
10.8.3 用符号“.”来替代字符串中的任意一个字符 213 
10.8.4 匹配指定字符中的任意一个 213 
10.8.5 匹配指定字符以外的字符 214 
10.8.6 匹配指定字符串 215 
10.8.7 使用“*”和“+”来匹配多个字符 216 
10.8.8 使用{m}或者{m,n}来指定字符串连续出现的次数 216 
10.9 本章实例 217 
10.10 上机实践 228 
10.11 常见问题及解答 232 
10.12 小结 233 
10.13 本章习题 233 
第11章 插入、更新与删除数据（ 教学视频：45分钟） 234 
11.1 插入数据 234 
11.1.1 为表的所有字段插入数据 234 
11.1.2 为表的指定字段插入数据 236 
11.1.3 同时插入多条记录 238 
11.1.4 将查询结果插入到表中 239 
11.2 更新数据 240 
11.3 删除数据 242 
11.4 本章实例 244 
11.5 上机实践 248 
11.6 常见问题及解答 250 
11.7 小结 250 
11.8 本章习题 250 
第12章 mysql运算符（ 教学视频：75分钟） 252 
12.1 运算符简介 252 
12.2 算术运算符 253 
12.3 比较运算符 254 
12.4 逻辑运算符 260 
12.5 位运算符 263 
12.6 运算符的优先级 265 
12.7 本章实例 266 
12.8 上机实践 267 
12.9 常见问题及解答 268 
12.10 小结 268 
12.11 本章习题 269 
第13章 mysql函数（ 教学视频：132分钟） 270 
13.1 mysql函数简介 270 
13.2 数学函数 271 
13.2.1 绝对值函数abs(x)和返回圆周率的函数pi() 272 
13.2.2 平方根函数sqrt(x)和求余函数mod(x,y) 272 
13.2.3 获取整数的函数ceil(x)、ceiling(x)和floor(x) 272 
13.2.4 获取随机数的函数rand()和rand(x) 273 
13.2.5 四舍五入函数round(x)、round(x,y)和truncate(x,y) 273 
13.2.6 符号函数sign(x) 274 
13.2.7 幂运算函数pow(x,y)、power(x,y)和exp(x) 274 
13.2.8 对数运算函数log(x)和log10(x) 274 
13.2.9 角度与弧度相互转换的函数radians(x)和degrees(x) 275 
13.2.10 正弦函数sin(x)和反正弦函数asin(x) 275 
13.2.11 余弦函数cos(x)和反余弦函数acos(x) 276 
13.2.12 正切函数、反正切函数和余切函数 276 
13.3 字符串函数 277 
13.3.1 计算字符串字符数的函数和字符串长度的函数 278 
13.3.2 合并字符串的函数concat(s1,s2,…) 和concat_ws(x,s1,s2,…) 278 
13.3.3 替换字符串的函数insert(s1,x,len,s2) 278 
13.3.4 字母大小写转换函数 279 
13.3.5 获取指定长度的字符串的函数left(s,n)和right(s,n) 279 
13.3.6 填充字符串的函数lpad(s1,len,s2)和rpad(s1,len,s2) 279 
13.3.7 删除空格的函数ltrim(s)、rtrim(s)和trim(s) 280 
13.3.8 删除指定字符串的函数trim(s1 from s) 280 
13.3.9 重复生成字符串的函数repeat(s,n) 281 
13.3.10 空格函数space(n)和替换函数replace(s,s1,s2) 281 
13.3.11 比较字符串大小的函数strcmp(s1,s2) 281 
13.3.12 获取子串的函数substring(s,n,len)和mid(s,n,len) 281 
13.3.13 匹配子串开始位置的函数 282 
13.3.14 字符串逆序的函数reverse(s) 282 
13.3.15 返回指定位置的字符串的函数 282 
13.3.16 返回指定字符串位置的函数field(s,s1,s2,…) 283 
13.3.17 返回子串位置的函数find_in_set(s1,s2) 283 
13.3.18 选取字符串的函数make_set(x,s1,s2,…) 283 
13.4 日期和时间函数 284 
13.4.1 获取当前日期的函数和获取当前时间的函数 285 
13.4.2 获取当前日期和时间的函数 285 
13.4.3 unix时间戳函数 286 
13.4.4 返回utc日期的函数和返回utc时间的函数 286 
13.4.5 获取月份的函数month(d)和monthname(d) 286 
13.4.6 获取星期的函数dayname(d)、dayofweek(d)和weekday(d) 287 
13.4.7 获取星期数的函数week(d)和weekofyear(d) 287 
13.4.8 获取天数的函数dayofyear(d)和dayofmonth(d) 288 
13.4.9 获取年份、季度、小时、分钟和秒钟的函数 288 
13.4.10 获取日期的指定值的函数extract(type from d) 288 
13.4.11 时间和秒钟转换的函数 289 
13.4.12 计算日期和时间的函数 289 
13.4.13 将日期和时间格式化的函数 291 
13.5 条件判断函数 294 
13.5.1 if(expr,v1,v2)函数 294 
13.5.2 ifnull(v1,v2)函数 295 
13.5.3 case函数 295 
13.6 系统信息函数 296 
13.6.1 获取mysql版本号、连接数和数据库名的函数 297 
13.6.2 获取用户名的函数 297 
13.6.3 获取字符串的字符集和排序方式的函数 298 
13.6.4 获取最后一个自动生成的id值的函数 298 
13.7 加密函数 299 
13.7.1 加密函数password(str) 299 
13.7.2 加密函数md5(str) 299 
13.7.3 加密函数encode(str,pswd_str) 300 
13.7.4 解密函数decode(crypt_str,pswd_str) 300 
13.8 其他函数 300 
13.8.1 格式化函数format(x,n) 300 
13.8.2 不同进制的数字进行转换的函数 301 
13.8.3 ip地址与数字相互转换的函数 301 
13.8.4 加锁函数和解锁函数 302 
13.8.5 重复执行指定操作的函数 303 
13.8.6 改变字符集的函数 303 
13.8.7 改变字段数据类型的函数 303 
13.9 本章实例 304 
13.10 上机实践 307 
13.11 常见问题及解答 308 
13.12 小结 308 
13.13 本章习题 309 
第14章 存储过程和函数（ 教学视频：78分钟） 310 
14.1 创建存储过程和函数 310 
14.1.1 创建存储过程 310 
14.1.2 创建存储函数 312 
14.1.3 变量的使用 313 
14.1.4 定义条件和处理程序 313 
14.1.5 光标的使用 315 
14.1.6 流程控制的使用 316 
14.2 调用存储过程和函数 319 
14.2.1 调用存储过程 319 
14.2.2 调用存储函数 320 
14.3 查看存储过程和函数 321 
14.3.1 show status语句查看存储过程和函数的状态 321 
14.3.2 show create语句查看存储过程和函数的定义 321 
14.3.3 从information_schema.routines表中查看存储过程和函数的信息 322 
14.4 修改存储过程和函数 323 
14.5 删除存储过程和函数 324 
14.6 本章实例 325 
14.7 上机实践 327 
14.8 常见问题及解答 328 
14.9 小结 329 
14.10 本章习题 329 
第4篇 mysql数据库高级管理 
第15章 mysql用户管理（ 教学视频：75分钟） 332 
15.1 权限表 332 
15.1.1 user表 332 
15.1.2 db表和host表 333 
15.1.3 tables_priv表和columns_priv表 334 
15.1.4 procs_priv表 334 
15.2 账户管理 335 
15.2.1 登录和退出mysql服务器 335 
15.2.2 新建普通用户 336 
15.2.3 删除普通用户 338 
15.2.4 root用户修改自己的密码 339 
15.2.5 root用户修改普通用户密码 340 
15.2.6 普通用户修改密码 342 
15.2.7 root用户密码丢失的解决办法 342 
15.3 权限管理 344 
15.3.1 mysql的各种权限 344 
15.3.2 授权 345 
15.3.3 收回权限 346 
15.3.4 查看权限 347 
15.4 本章实例 348 
15.5 上机实践 349 
15.6 常见问题及解答 350 
15.7 小结 351 
15.8 本章习题 351 
第16章 数据备份与还原（ 教学视频：56分钟） 352 
16.1 数据备份 352 
16.1.1 使用mysqldump命令备份 352 
16.1.2 直接复制整个数据库目录 354 
16.1.3 使用mysqlhotcopy工具快速备份 355 
16.2 数据还原 355 
16.2.1 使用mysql命令还原 356 
16.2.2 直接复制到数据库目录 356 
16.3 数据库迁移 357 
16.3.1 相同版本的mysql数据库之间的迁移 357 
16.3.2 不同版本的mysql数据库之间的迁移 357 
16.3.3 不同数据库之间迁移 358 
16.4 表的导出和导入 358 
16.4.1 用select…into outfile导出文本文件 358 
16.4.2 用mysqldump命令导出文本文件 359 
16.4.3 用mysql命令导出文本文件 360 
16.4.4 用load data infile方式导入文本文件 361 
16.4.5 用mysqlimport命令导入文本文件 362 
16.5 本章实例 362 
16.6 上机实践 365 
16.7 常见问题及解答 366 
16.8 小结 366 
16.9 本章习题 367 
第17章 mysql日志（ 教学视频：54分钟） 368 
17.1 日志简介 368 
17.2 二进制日志 369 
17.2.1 启动和设置二进制日志 369 
17.2.2 查看二进制日志 370 
17.2.3 删除二进制日志 370 
17.2.4 使用二进制日志还原数据库 371 
17.2.5 暂时停止二进制日志功能 372 
17.3 错误日志 372 
17.3.1 启动和设置错误日志 372 
17.3.2 查看错误日志 373 
17.3.3 删除错误日志 373 
17.4 通用查询日志 374 
17.4.1 启动和设置通用查询日志 374 
17.4.2 查看通用查询日志 374 
17.4.3 删除通用查询日志 375 
17.5 慢查询日志 375 
17.5.1 启动和设置慢查询日志 375 
17.5.2 查看慢查询日志 376 
17.5.3 删除慢查询日志 376 
17.6 本章实例 376 
17.7 上机实践 380 
17.8 常见问题及解答 381 
17.9 小结 381 
17.10 本章习题 381 
第18章 性能优化（ 教学视频：48分钟） 382 
18.1 优化简介 382 
18.2 优化查询 383 
18.2.1 分析查询语句 383 
18.2.2 索引对查询速度的影响 384 
18.2.3 使用索引查询 385 
18.2.4 优化子查询 387 
18.3 优化数据库结构 388 
18.3.1 将字段很多的表分解成多个表 388 
18.3.2 增加中间表 388 
18.3.3 增加冗余字段 389 
18.3.4 优化插入记录的速度 390 
18.3.5 分析表、检查表和优化表 391 
18.4 优化mysql服务器 392 
18.4.1 优化服务器硬件 392 
18.4.2 优化mysql的参数 393 
18.5 本章实例 394 
18.6 上机实践 395 
18.7 常见问题及解答 396 
18.8 小结 397 
18.9 本章习题 397 
第5篇 mysql应用与实战开发 
第19章 java访问mysql数据库（ 教学视频：45分钟） 400 
19.1 java连接mysql数据库 400 
19.1.1 下载jdbc驱动mysql connector/j 400 
19.1.2 安装mysql connector/j驱动 400 
19.1.3 连接mysql数据库 402 
19.2 java操作mysql数据库 403 
19.2.1 创建statement对象 403 
19.2.2 使用select语句查询数据 403 
19.2.3 插入、更新或者删除数据 404 
19.2.4 执行任意sql语句 405 
19.2.5 关闭创建的对象 406 
19.3 java备份与还原mysql数据库 406 
19.3.1 java备份mysql数据库 406 
19.3.2 java还原mysql数据库 407 
19.4 本章实例 407 
19.5 上机实践 410 
19.6 常见问题及解答 413 
19.7 小结 413 
19.8 本章习题 414 
第20章 php访问mysql数据库（ 教学视频：44分钟） 415 
20.1 php连接mysql数据库 415 
20.1.1 windows操作系统下配置php 415 
20.1.2 linux操作系统下配置php 417 
20.1.3 连接mysql数据库 418 
20.2 php操作mysql数据库 419 
20.2.1 执行sql语句 419 
20.2.2 处理查询结果 420 
20.2.3 获取查询结果的字段名 421 
20.2.4 一次执行多个sql语句 421 
20.2.5 处理带参数的sql语句 422 
20.2.6 关闭创建的对象 423 
20.3 php备份与还原mysql数据库 424 
20.3.1 php备份mysql数据库 424 
20.3.2 php还原mysql数据库 424 
20.4 本章实例 425 
20.5 上机实践 426 
20.6 常见问题及解答 427 
20.7 小结 427 
20.8 本章习题 428 
第21章 c#访问mysql数据库（ 教学视频：55分钟） 429 
21.1 c#连接mysql数据库 429 
21.1.1 下载connector/net驱动程序 429 
21.1.2 安装connector/net驱动程序 430 
21.1.3 使用connector/net驱动程序 431 
21.1.4 连接mysql数据库 432 
21.2 c#操作mysql数据库 433 
21.2.1 创建mysqlcommand对象 433 
21.2.2 插入、更新或者删除数据 434 
21.2.3 使用select语句查询数据 434 
21.2.4 一次执行多个select语句 435 
21.2.5 处理select语句只返回一个值的情况 436 
21.2.6 处理带参数的sql语句 437 
21.2.7 使用dataset对象和datatable对象 438 
21.2.8 关闭创建的对象 438 
21.3 c#备份与还原mysql数据库 439 
21.3.1 c#备份mysql数据库 439 
21.3.2 c#还原mysql数据库 440 
21.4 本章实例 440 
21.5 上机实践 443 
21.6 常见问题及解答 445 
21.7 小结 445 
21.8 本章习题 445 
第22章 驾校学员管理系统（ 教学视频：95分钟） 446 
22.1 系统概述 446 
22.2 系统功能 446 
22.3 数据库设计 447 
22.3.1 设计表 447 
22.3.2 设计索引 452 
22.3.3 设计视图 453 
22.3.4 设计触发器 454 
22.4 系统实现 455 
22.4.1 构建工程 455 
22.4.2 访问和操作mysql数据库的代码 455 
22.5 用户管理模块 458 
22.5.1 用户登录功能 458 
22.5.2 修改密码 459 
22.6 学籍管理模块 460 
22.6.1 添加学员的学籍信息 460 
22.6.2 查询学员的学籍信息 461 
22.6.3 修改学员的学籍信息 462 
22.6.4 删除学员的学籍信息 462 
22.7 体检管理模块 462 
22.8 成绩管理模块 464 
22.9 证书管理模块 465 
22.10 小结 466