《MySQL从入门到精通》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:明日科技编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302457992
  • 页数:490 页
图书介绍:本书从初学者的角度出发,由浅入深,循序渐进地介绍了mysql数据库应用与开发的相关知识。书中提供了大量操作mysql数据库的示例,还提供了大量实例和上机实践内容,供读者演练。本书附带1张dvd光盘,内容为与本书内容完全配套的多媒体教学视频和本书涉及的源代码。 

第1篇 基础知识 2

第1章 数据库基础 2

1.1数据库系统概述 3

1.1.1数据库技术的发展 3

1.1.2数据库系统的组成 3

1.2数据模型 4

1.2.1数据模型的概念 4

1.2.2常见的数据模型 4

1.2.3关系数据库的规范化 6

1.2.4关系数据库的设计原则 8

1.2.5实体与关系 8

1.3数据库的体系结构 9

1.3.1数据库三级模式结构 9

1.3.2三级模式之间的映射 9

1.4小结 10

1.5实践与练习 10

第2章 初识MySQL 11

2.1了解MySQL 12

2.1.1 MySQL数据库的概念 12

2.1.2 MySQL的优势 12

2.1.3 MySQL的发展史 12

2.2 MySQL的特性 13

2.3 MySQL的应用环境 14

2.4 MySQL服务器的安装和配置 14

2.4.1 MySQL服务器下载 14

2.4.2 MySQL服务器安装 18

2.4.3启动、连接、断开和停止MySQL服务器 25

2.4.4打开MySQL 5.6 Command Line Client 29

2.5如何学好MySQL 30

2.6小结 30

2.7实践与练习 30

第3章 使用MySQL图形化管理工具 31

3.1 MySQL Workbench图形化管理工具 32

3.1.1了解MySQL Workbench 32

3.1.2创建数据库和数据表 33

3.1.3添加数据 37

3.1.4数据的导出和导入 39

3.2 phpMyAdmin图形化管理工具 43

3.2.1配置phpMyAdmin 43

3.2.2数据库操作管理 46

3.2.3管理数据表 48

3.2.4管理数据记录 50

3.2.5导出导入数据 55

3.2.6 phpMyAdmin设置编码格式 58

3.2.7 phpMyAdmin添加服务器新用户 59

3.2.8 phpMyAdmin中重置MySQL服务器登录密码 60

3.3小结 62

3.4实践与练习 62

第4章 数据库操作 63

4.1认识数据库 64

4.1.1数据库基本概念 64

4.1.2数据库常用对象 65

4.1.3系统数据库 65

4.2创建数据库 68

4.2.1通过CREATE DATABASE语句创建基本数据库 68

4.2.2通过CREATE SCHEMA语句创建基本数据库 68

4.2.3创建指定字符集的数据库 68

4.2.4创建数据库前判断是否存在同名数据库 69

4.3查看数据库 70

4.4选择数据库 71

4.5修改数据库 72

4.6删除数据库 73

4.7小结 75

4.8实践与练习 75

第5章 存储引擎及数据类型 76

5.1 MySQL存储引擎 77

5.1.1 MySQL存储引擎的概念 77

5.1.2查询MySQL中支持的存储引擎 77

5.1.3 InnoDB存储引擎 79

5.1.4 MyISAM存储引擎 80

5.1.5 MEMORY存储引擎 81

5.1.6如何选择存储引擎 82

5.1.7设置数据表的存储引擎 83

5.2 MySQL数据类型 84

5.2.1数字类型 84

5.2.2字符串类型 85

5.2.3日期和时间类型 86

5.3小结 87

5.4实践与练习 87

第6章 操作数据表 88

6.1创建数据表 89

6.2查看表结构 90

6.2.1使用SHOW COLUMNS语句查看 90

6.2.2使用DESCRIBE语句查看 91

6.3修改表结构 92

6.3.1添加新字段及修改字段定义 93

6.3.2修改字段名 94

6.3.3删除字段 95

6.3.4修改表名 95

6.4重命名表 96

6.5复制表 96

6.6删除表 99

6.7小结 100

6.8实践与练习 100

第2篇 核心技术 102

第7章MySQL基础 102

7.1运算符 103

7.1.1算术运算符 103

7.1.2比较运算符 104

7.1.3逻辑运算符 108

7.1.4位运算符 110

7.1.5运算符的优先级 111

7.2流程控制语句 112

7.2.1 IF语句 112

7.2.2 CASE语句 113

7.2.3 WHILE循环语句 115

7.2.4 LOOP循环语句 116

7.2.5 REPEAT循环语句 117

7.3小结 119

7.4实践与练习 119

第8章 表数据的增、删、改操作 120

8.1插入数据 121

8.1.1使用INSERT…VALUES语句插入数据 121

8.1.2使用INSERT…SET语句插入数据 125

8.1.3插入查询结果 126

8.2修改数据 128

8.3删除数据 129

8.3.1通过DELETE语句删除数据 130

8.3.2通过TRUNCATE TABLE语句删除数据 131

8.4小结 132

8.5实践与练习 132

第9章 数据查询 133

9.1基本查询语句 134

9.2单表查询 135

9.2.1查询所有字段 136

9.2.2查询指定字段 136

9.2.3查询指定数据 136

9.2.4带关键字IN的查询 137

9.2.5带关键字BETWEEN AND的范围查询 138

9.2.6带LIKE的字符匹配查询 139

9.2.7用关键字IS NULL查询空值 139

9.2.8带关键字AND的多条件查询 140

9.2.9带关键字OR的多条件查询 140

9.2.10用关键字DISTINCT去除结果中的重复行 141

9.2.11用关键字ORDER BY对查询结果排序 141

9.2.12用关键字GROUP BY分组查询 142

9.2.13用关键字LIMIT限制查询结果的数量 144

9.3聚合函数查询 144

9.3.1 COUNT()函数 145

9.3.2 SUM()函数 145

9.3.3 AVG()函数 146

9.3.4 MAX()函数 146

9.3.5 MIN()函数 147

9.4连接查询 147

9.4.1内连接查询 147

9.4.2外连接查询 149

9.4.3复合条件连接查询 150

9.5子查询 150

9.5.1带关键字IN的子查询 151

9.5.2带比较运算符的子查询 152

9.5.3带关键字EXISTS的子查询 153

9.5.4带关键字ANY的子查询 154

9.5.5带关键字ALL的子查询 154

9.6合并查询结果 155

9.7定义表和字段的别名 157

9.7.1为表取别名 157

9.7.2为字段取别名 158

9.8使用正则表达式查询 158

9.8.1匹配指定字符中的任意一个 159

9.8.2使用“*”和“+”来匹配多个字符 160

9.8.3匹配以指定的字符开头和结束的记录 161

9.9小结 161

9.10实践与练习 162

第10章 常用函数 163

10.1 MySQL函数 164

10.2数学函数 164

10.2.1 ABS(x)函数 165

10.2.2 FLOOR(x)函数 166

10.2.3 RAND()函数 166

10.2.4 PI()函数 167

10.2.5 TRUNCATE(x,y)函数 167

10.2.6 ROUND(x)函数和ROUN D(x,y)函数 168

10.2.7 SQRT(x)函数 168

10.3字符串函数 169

10.3.1 INSERT(s 1 ,x,len,s2)函数 170

10.3.2 UPPER(s)函数和UCASE(s)函数 171

10.3.3 LEFT(s,n)函数 171

10.3.4 RTRIM(s)函数 171

10.3.5 SUBSTRING(s,n,len)函数 172

10.3.6 REVERSE(s)函数 172

10.3.7 FIELD(s,s1,s2,…)函数 173

10.3.8 LOCATE(s1,s)函数、POSITION(s1 IN s)函数和INSTR(s,s 1)函数 173

10.4日期和时间函数 174

10.4.1 CURDATE()函数和CURRENT_ DATE()函数 175

10.4.2 CURTIME()函数和CURRENT_TIME()函数 176

10.4.3 NOW()函数 176

10.4.4 DATEDIFF(d1,d2)函数 177

10.4.5 ADDDATE(d,n)函数 177

10.4.6 ADDDATE(d,INTERVAL expr type)函数 177

10.4.7 SUBDATE(d,n)函数 178

10.5条件判断函数 178

10.6系统信息函数 179

10.6.1获取MySQL版本号、连接数和数据库名的函数 179

10.6.2获取用户名的函数 180

10.6.3获取字符串的字符集和排序方式的函数 181

10.7加密函数 181

10.7.1加密函数PASSWORD(str) 182

10.7.2加密函数MD5(str) 182

10.8其他函数 183

10.8.1格式化函数FORMAT(x,n) 183

10.8.2改变字符集的函数 184

10.8.3改变字段数据类型的函数 184

10.9小结 185

10.10实践与练习 185

第11章 索引 186

11.1索引概述 187

11.1.1 MySQL索引概述 187

11.1.2 MySQL索引分类 187

11.2创建索引 188

11.2.1在建立数据表时创建索引 188

11.2.2在己建立的数据表中创建索引 193

11.2.3修改数据表结构添加索引 197

11.3删除索引 199

11.4小结 200

11.5实践与练习 200

第12章 视图 201

12.1视图概述 202

12.1.1视图的概念 202

12.1.2视图的作用 202

12.2创建视图 203

12.2.1查看创建视图的权限 203

12.2.2创建视图的步骤 204

12.2.3创建视图的注意事项 206

12.3视图操作 206

12.3.1查看视图 206

12.3.2修改视图 208

12.3.3更新视图 210

12.3.4删除视图 212

12.4小结 213

12.5实践与练习 213

第3篇 高级应用 216

第13章 数据完整性约束 216

13.1定义完整性约束 217

13.1.1实体完整性 217

13.1.2参照完整性 219

13.1.3用户定义完整性 222

13.2命名完整性约束 224

13.3更新完整性约束 227

13.3.1删除完整性约束 227

13.3.2修改完整性约束 227

13.4小结 228

13.5实践与练习 229

第14章 存储过程与存储函数 230

14.1创建存储过程和存储函数 231

14.1.1创建存储过程 231

14.1.2创建存储函数 233

14.1.3变量的应用 234

14.1.4光标的运用 237

14.2存储过程和存储函数的调用 238

14.2.1调用存储过程 238

14.2.2调用存储函数 239

14.3查看存储过程和存储函数 240

14.3.1 SHOW STATUS语句 240

14.3.2 SHOW CREATE语句 241

14.4修改存储过程和存储函数 241

14.5删除存储过程和存储函数 243

14.6小结 243

14.7实践与练习 244

第15章 触发器 245

15.1 MySQL触发器 246

15.1.1创建MySQL触发器 246

15.1.2创建具有多条执行语句的触发器 247

15.2查看触发器 249

15.2.1 SHOW TRIGGERS 249

15.2.2查看triggers表中触发器信息 250

15.3使用触发器 250

15.4删除触发器 251

15.5小结 253

15.6实践与练习 253

第16章 事务的应用 254

16.1 MySQL事务概述 255

16.1.1原子性 256

16.1.2一致性 256

16.1.3孤立性 256

16.1.4持久性 256

16.2 MySQL事务的创建与存在周期 257

16.2.1初始化事务 258

16.2.2创建事务 258

16.2.3应用SELECT语句查询数据是否被正确录入 258

16.2.4提交事务 259

16.2.5撤销事务(事务回滚) 259

16.2.6事务的存在周期 260

16.3 MySQL事务行为 261

16.3.1自动提交 261

16.3.2事务的孤立级 262

16.3.3修改事务的孤立级 262

16.4事务的性能 263

16.4.1应用小事务 263

16.4.2选择合适的孤立级 263

16.4.3死锁的概念与避免 264

16.5 MySQL伪事务 264

16.5.1用表锁定代替事务 265

16.5.2应用表锁实现伪事务 267

16.6小结 268

16.7实践与练习 268

第17章 事件 269

17.1事件概述 270

17.1.1查看事件是否开启 270

17.1.2开启事件 271

17.2创建事件 272

17.3修改事件 275

17.4删除事件 277

17.5小结 278

17.6实践与练习 278

第18章 备份与恢复 279

18.1数据备份 280

18.1.1使用mysqldump命令备份 280

18.1.2直接复制整个数据库目录 282

18.1.3使用mysqlhotcopy工具快速备份 283

18.2数据恢复 284

18.2.1使用mysql命令还原 284

18.2.2直接复制到数据库目录 285

18.3数据库迁移 285

18.3.1相同版本的MySQL数据库之间的迁移 285

18.3.2不同数据库之间的迁移 286

18.4表的导出和导入 286

18.4.1用SELECT…INTO OUTFILE导出文本文件 287

18.4.2用mysqldump命令导出文本文件 288

18.4.3用mysql命令导出文本文件 289

18.4.4用LOAD DATA INFILE命令将文本文件导入到数据表 290

18.4.5用mysqlimport命令导入文本文件 293

18.5小结 295

18.6实践与练习 295

第19章MySQL性能优化 296

19.1优化概述 297

19.2优化查询 298

19.2.1分析查询语句 298

19.2.2索引对查询速度的影响 300

19.2.3使用索引查询 301

19.3优化数据库结构 303

19.3.1将字段很多的表分解成多个表 303

19.3.2增加中间表 304

19.3.3优化插入记录的速度 305

19.3.4分析表、检查表和优化表 306

19.4查询高速缓存 307

19.4.1检验高速缓存是否开启 307

19.4.2使用高速缓存 308

19.5优化多表查询 309

19.6优化表设计 310

19.7小结 311

19.8实践与练习 311

第20章 权限管理及安全控制 312

20.1安全保护策略概述 313

20.2用户和权限管理 314

20.2.1使用CREATE USER命令创建用户 314

20.2.2使用DROP USER命令删除用户 314

20.2.3使用RENAME USER命令重命名用户 315

20.2.4 GRANT和REVOKE命令 315

20.3 MySQL数据库安全常见问题 318

20.3.1权限更改何时生效 318

20.3.2设置账户密码 319

20.3.3使密码更安全 320

20.4状态文件和日志文件 320

20.4.1进程ID文件 321

20.4.2日志文件管理 321

20.5小结 329

20.6实践与练习 329

第21章 PHP管理MySQL数据库中的数据 330

21.1 PHP语言概述 331

21.1.1 PHP的概念 331

21.1.2 PHP的特点 331

21.1.3 PHP的工作原理 332

21.1.4 PHP结合数据库应用的优势 333

21.2 PHP操作MySQL数据库的基本步骤 334

21.3使用PHP操作MySQL数据库 335

21.3.1应用mysql connect()函数连接MySQL服务器 335

21.3.2应用mysql_ select_ db()函数选择MySQL数据库 337

21.3.3应用mysql_query()函数执行SQL语句 338

21.3.4应用mysql_ fetch_ array()函数将结果集返回到数组中 340

21.3.5应用mysql_ fetch_ object()函数从结果集中获取一行作为对象 341

21.3.6应用mysql_ fetch row()函数从结果集中获取一行作为枚举数组 343

21.3.7应用mysql_ num rows()函数获取查询结果集中的记录数 344

21.3.8应用mysql_free_ result()函数释放内存 346

21.3.9应用mysql close()函数关闭连接 346

21.4 PHP管理MySQL数据库中的数据 347

21.4.1向数据库中添加数据 347

21.4.2浏览数据库中的数据 350

21.4.3编辑数据库数据 351

21.4.4删除数据 352

21.4.5批量删除数据 354

21.5 PHP操作MySQL事务 355

21.6 PHP操作MySQL存储过程 357

21.7常见问题与解决方法 359

21.7.1 MySQL服务器无法连接 359

21.7.2用户无权限访问MySQL服务器 359

21.7.3提示mysql_ connect函数未定义 360

21.7.4 SQL语句出错或没有返回正确的结果 360

21.7.5数据库乱码问题 361

21.7.6应用MYSQL_ ERROR()语句输出错误信息 361

21.8小结 362

21.9实践与练习 362

第4篇 项目实战 364

第22章Apache+PHP+MySQL实现网上社区 364

22.1开发背景 365

22.2系统分析 365

22.2.1需求分析 365

22.2.2可行性分析 365

22.3系统设计 366

22.3.1系统目标 366

22.3.2系统功能结构 366

22.3.3系统预览 368

22.3.4开发环境 369

22.3.5文件夹组织结构 369

22.4在Linux操作系统下搭建PHP开发环境 370

22.4.1 Linux下Apache的安装配置 370

22.4.2 Linux下MySQL的安装配置 372

22.4.3 Linux下PHP的安装配置 373

22.5数据库设计 375

22.5.1数据库分析 375

22.5.2数据库概念设计 375

22.5.3创建数据库及数据表 376

22.6公共模块设计 380

22.6.1数据库连接文件 380

22.6.2将文本中的字符转换为HTML标识符 381

22.7前台首页设计 381

22.7.1前台首页概述 382

22.7.2前台首页技术分析 383

22.7.3前台首页的实现过程 385

22.8注册模块设计 386

22.8.1注册模块概述 386

22.8.2注册模块技术分析 387

22.8.3注册模块的实现过程 389

22.9技术支持模块设计 390

22.9.1技术支持模块概述 390

22.9.2技术支持模块技术分析 390

22.9.3常见问题的实现过程 392

22.9.4客户反馈的实现过程 393

22.10在线订购模块设计 394

22.10.1在线订购模块概述 394

22.10.2在线订购模块技术分析 394

22.10.3购物车的实现过程 396

22.10.4商品订单的实现过程 398

22.10.5在线支付的实现 400

22.11社区论坛模块设计 403

22.11.1社区论坛模块概述 404

22.11.2社区论坛模块技术分析 404

22.11.3论坛分类的实现过程 405

22.11.4论坛帖子浏览的实现过程 407

22.11.5论坛帖子发布的实现过程 409

22.11.6论坛帖子回复的实现过程 412

22.12后台首页设计 414

22.12.1后台首页概述 414

22.12.2后台首页技术分析 415

22.12.3后台首页的实现过程 416

22.13编程词典管理模块设计 417

22.13.1编程词典管理模块概述 417

22.13.2编程词典管理模块技术分析 417

22.13.3添加编程词典的实现过程 419

22.13.4编辑编程词典的实现过程 420

22.14软件升级管理模块设计 422

22.14.1软件升级管理模块概述 422

22.14.2软件升级管理模块技术分析 422

22.14.3软件升级包上传的实现过程 424

22.14.4软件升级包删除的实现过程 425

22.15在Linux系统下发布网站 426

22.16开发技巧与难点分析 428

22.16.1管理员权限的设置 428

22.16.2帖子置顶的设置 429

22.16.3解决提示“客户反馈发表失败!”的问题 430

22.16.4解决指定商品没有被删除的问题 430

22.16.5解决发帖和回帖时上传的图片不能够正常显示的问题 431

22.17小结 432

第23章Struts 2+Spring+Hibernate+MySQL实现网络商城 433

23.1开发背景 434

23.2系统分析 434

23.2.1需求分析 434

23.2.2可行性分析 434

23.3系统设计 435

23.3.1功能结构图 435

23.3.2系统流程图 437

23.3.3开发环境 437

23.3.4文件夹组织结构 438

23.3.5系统预览 438

23.4数据库设计 440

23.4.1数据库概念设计 440

23.4.2创建数据库及数据表 442

23.5公共模块的设计 444

23.5.1泛型工具类 444

23.5.2数据持久化类 445

23.5.3分页操作 446

23.5.4字符串工具类 448

23.5.5实体映射 448

23.6项目环境搭建 453

23.6.1配置Struts 2 454

23.6.2配置Hibernate 457

23.6.3配置Spring 458

23.6.4配置web.xml 459

23.7登录注册模块设计 460

23.7.1模块概述 460

23.7.2注册模块的实现 461

23.8前台商品信息查询模块设计 462

23.8.1模块概述 462

23.8.2前台商品信息查询模块技术分析 462

23.8.3商品搜索的实现 463

23.8.4前台商品其他查询的实现 465

23.9购物车模块设计 467

23.9.1模块概述 467

23.9.2购物车模块技术分析 468

23.9.3购物车基本功能的实现 468

23.9.4订单相关功能的实现 471

23.10后台商品管理模块设计 474

23.10.1模块概述 474

23.10.2后台商品管理模块技术分析 475

23.10.3商品管理功能的实现 475

23.10.4商品类别管理功能的实现 480

23.11后台订单管理模块的设计 484

23.11.1模块概述 484

23.11.2后台订单管理模块技术分析 484

23.11.3后台订单查询的实现 486

23.12开发技巧与难点分析 488

23.12.1解决订单号为空时查询报错 488

23.12.2通过Struts 2的拦截器来解决Session超时出现空指针异常的问题 488

23.13小结 490