《MySQL入门经典》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:王雨竹,高飞等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111419952
  • 页数:424 页
图书介绍:本书按照学习MySQL的最佳结构来分配章节,共分为4篇19章内容,其中,前3篇可以使读者掌握MySQL数据库知识,第4篇可以使读者学习实际项目的开发过程。本书以初中级程序员为对象,先从了解MySQL数据库和搭建开发环境学起,再学习MySQL数据库的基础技术,然后学习MySQL数据库的高级内容,最后学习开发一个完整项目。讲解过程中步骤详尽,版式新颖,让读者在阅读时一目了然,从而快速掌握书中内容。

第一篇 基础知识 2

第1章 初识庐山真面目——MySQL数据库 2

1.1为什么选择MySQL数据库 2

1.1.1什么是MySQL数据库 2

1.1.2 MySQL的优势 2

1.1.3 MySQL的发展史 2

1.3 MySQL的应用环境 4

1.4 MySQL的管理软件 4

1.5如何学MySQL 4

1.5.1如何学好MySQL 4

1.5.2 MySQL学习常见问题 5

第2章 再识庐山真面目——简单的 MySQL环境 6

2.1数据根源——MySQL下载 6

2.2搭建桥梁——MySQL环境安装 9

2.3启动、连接、断开和停止MySQL服务器 19

2.3.1启动和停止MySQL服务器 19

2.3.2连接和断开MySQL服务器 20

2.4使用免安装的MySQL 23

2.5 MySQL Workbench图形化管理工具 24

2.5.1 MySQL Workbench安装 25

2.5.2创建数据库和数据表 27

2.5.3添加数据 31

2.5.4数据的导入和导出 33

2.6 phpMyAdmin图形化管理工具 35

2.6.1数据库操作管理 35

2.6.2管理数据表 36

2.6.3管理数据记录 38

2.6.4导入导出数据 42

2.6.5 phpMyAdmin设置编码格式 44

2.6.6 phpMyAdmin添加服务器新用户 44

2.6.7 phpMyAdmin中重置MySQL服务器登录密码 46

2.7.1启动、停止服务器 47

2.7.2连接MySQL服务器 48

第3章 如何存储和获取数据——MySQL存储引擎、数据类型和运算符 50

3.1最常用的引擎类型——MySQL存储引擎 50

3.1.1什么是MySQL存储引擎 50

3.1.2查询MySQL中支持的存储引擎 51

3.1.3 InnoDB存储引擎 52

3.1.4 MyISAM存储引擎 53

3.1.5 MEMORY存储引擎 54

3.1.6如何选择存储引擎 55

3.1.7设置数据表的存储引擎 55

3.2数据是如何分类的——MySQL数据类型 56

3.2.1数字类型 56

3.2.2字符串类型 57

3.2.3日期和时间数据类型 58

3.3最基本的程序元素——MySQL运算符 59

3.3.1算术运算符 59

3.3.2比较运算符 60

3.3.3逻辑运算符 65

3.3.4位运算符 67

3.3.5运算符的优先级 68

3.4.1查看存储引擎、创建和删除数据库 69

3.4.2位运算的比较 69

3.4.3逻辑运算符的使用 70

第4章 最实用的编程语句——MySQL基本操作 72

4.1 MySQL数据库操作 72

4.1.1创建数据库CREATE DATABASE 72

4.1.2查看数据库SHOW DATABASES 73

4.1.3选择数据库USE DATABASE 73

4.1.4删除数据库DROP DATABASE 74

4.2 MySQL数据表操作 74

4.2.1创建数据表CREATE TABLE 74

4.2.2查看表结构SHOW COLUMNS或DESCRIBE 75

4.2.3修改表结构ALTER TABLE 76

4.2.4重命名表RENAME TABLE 77

4.2.5删除表DROP TABLE 78

4.3 MySQL语句操作 78

4.3.1插入记录INSERT 79

4.3.2查询数据库记录SELECT 79

4.3.3修改记录UPDATE 83

4.3.4删除记录DELETE 83

4.4.1操作teacher表 84

4.4.2存在外键约束时,不能删除、更新主表 85

4.4.3登录数据库系统 85

第5章 在迷宫中寻找出口——掌握函数 88

5.1程序的灵魂——MySQL函数 88

5.2数字的趣味——数学函数 89

5.2.1 ABS(x)函数 89

5.2.2 FLOOR(x)函数 90

5.2.3 RAND()函数 90

5.2.4 PI()函数 91

5.2.5 TRUNCATE(x,y)函数 91

5.2.6 ROUND(x)函数和ROUND(x,y)函数 92

5.2.7 SQRT(x)函数 92

5.3让字符舞起来——字符串函数 92

5.3.1 INSERT(s1, x,len,s2)函数 94

5.3.2 UPPER(s)函数和UCASE(s)函数 94

5.3.3 LEFT(s,n)函数 94

5.3.4 RTRIM(s)函数 95

5.3.5 SUBSTRING(s,n,len)函数 95

5.3.6 REVERSE(s)函数 96

5.3.7 FIELD(s,s1,s2,…)函数 96

5.4时间如宝——日期和时间函数 96

5.4.1 CURDATE()函数和CURRENT DATE()函数 97

5.4.2 CURTIME()函数和CURRENT_ TIME()函数 98

5.4.3 NOW()函数 98

5.4.4 DATEDIFF(d1,d2)函数 99

5.4.5 ADDDATE(d,n)函数 99

5.4.6 ADDDATE(d,INTERVAL expr type)函数 99

5.4.7 SUBDATE(d,n)函数 100

5.5多种选择——条件判断函数 100

5.6系统信息函数 101

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

5.6.2获取用户名的函数 102

5.6.3获取字符串的字符集和排序方式的函数 103

5.7安全设置——加密函数 103

5.7.1加密函数PASSWORD(str) 103

5.7.2加密函数MD5(str) 104

5.8.1格式化函数FORMAT(x,n) 105

5.8.2改变字符集的函数 106

5.8.3改变字段数据类型的函数 106

5.9.1字符串函数的使用 106

5.9.2查看当前数据库版本号 107

5.9.3生成3个1~100之间的随机整数 107

第6章 不可不知的查询方法——数据查询 109

6.1简单明了——基本查询语句 109

6.2最通俗易懂——单表查询 111

6.2.1查询所有字段 111

6.2.2查询指定字段 111

6.2.3查询指定数据 111

6.2.4带IN关键字的查询 112

6.2.5带BETWEEN AND的范围查询 113

6.2.6带LIKE的字符匹配查询 114

6.2.7用IS NULL关键字查询空值 114

6.2.8带AND的多条件查询 115

6.2.9带OR的多条件查询 115

6.2.10用DISTINCT关键字去除结果中的重复行 116

6.2.11用ORDER BY关键字对查询结果排序 116

6.2.12用GROUP BY关键字分组查询 117

6.2.13用LIMIT限制查询结果的数量 119

6.3掺杂数字趣味——聚合函数查询 120

6.3.1 COUNT()函数 120

6.3.2 SUM()函数 120

6.3.3 AVG()函数 121

6.3.4 MAX()函数 121

6.3.5 MIN()函数 122

6.4串联一起——连接查询 123

6.4.1内连接查询 123

6.4.2外连接查询 124

6.4.3复合条件连接查询 125

6.5从外到内——子查询 126

6.5.1带IN关键字的子查询 126

6.5.2带比较运算符的子查询 127

6.5.3带EXISTS关键字的子查询 128

6.5.4带ANY关键字的子查询 129

6.5.5带ALL关键字的子查询 130

6.6合并查询结果 131

6.7字段昵称——定义表和字段的别名 132

6.7.1为表取别名 133

6.7.2为字段取别名 133

6.8使用正则表达式查询 134

6.8.1匹配指定字符中的任意一个 135

6.8.2使用“*”和“+”来匹配多个字符 135

6.9.1使用聚合函数SUM对学生成绩进行汇总 136

6.9.2查询大于指定条件的记录 137

6.9.3使用比较运算符进行子查询 138

第二篇 核心技术 142

第7章 让程序速度加快——MySQL索引 142

7.1 MySQL索引概貌 142

7.1.1 MySQL索引概述 142

7.1.2 MySQL索引分类 143

7.2.1在建立数据表时创建索引 144

7.2.2在已建立的数据表中创建索引 148

7.2.3修改数据表结构添加索引 152

7.4.1使用CREATE INDEX创建索引 155

7.4.2使用ALTER TABLE语句创建全文索引 155

7.4.3删除唯一索引 155

第8章 一次编写多次调用——MySQL存储过程 158

8.1创建存储过程和存储函数 158

8.1.1创建存储过程 158

8.1.2创建存储函数 160

8.1.3变量的应用 161

8.1.4光标的运用 163

8.2流程控制语句 165

8.2.1 IF语句 165

8.2.2 CASE语句 166

8.2.3 WHILE循环语句 167

8.2.4 LOOP循环语句 168

8.2.5 REPEAT循环语句 169

8.3调用存储过程和存储函数 171

8.3.1调用存储过程 171

8.3.2调用存储函数 171

8.4查看存储过程和函数 171

8.4.1 SHOW STATUS语句 171

8.4.2 SHOW CREATE语句 171

8.5修改存储过程和函数 172

8.6删除存储过程和函数 173

8.7捕获存储过程中的错误 174

8.7.1定义条件 174

8.7.2定义处理程序 175

8.8.1使用存储过程实现用户注册(PHP) 175

8.8.2修改存储函数 177

8.8.3从information_schema.Routines表中查看存储过程 177

第9章 定时炸弹——触发器 180

9.1 MySQL触发器 180

9.1.1创建MySQL触发器 180

9.1.2创建具有多个执行语句的触发器 181

9.2查看触发器 183

9.2.1 SHOW TRIGGERS 183

9.2.2查看triggers表中触发器信息 184

9.3应用触发器 184

9.4删除触发器 185

9.5.1创建一个由INSERT触发的触发器 186

9.5.2获取数据库中的触发器 187

9.5.3使用DROP TIRGGER删除触发器 188

第10章 虚拟世界——MySQL视图 191

10.1 MySQL视图 191

10.1.1视图的概念 191

10.1.2视图的作用 191

10.2创建视图 192

10.2.1查看用户是否具有创建视图的权限 192

10.2.2创建视图 193

10.2.3创建视图的注意事项 194

10.3查看视图 194

10.4修改视图 196

10.5更新视图 198

10.6删除视图 201

10.7上机实践 202

10.7.1在views表中查看视图详细信息 202

10.7.2在单表上创建视图 202

10.7.3使用MySQL视图查询学生信息表 203

第11章 让程序听话——MySQL事务 206

11.1 MySQL事务概述 206

11.1.1原子性 207

11.1.2一致性 207

11.1.3孤立性 207

11.1.4持久性 208

11.2 MySQL事务的创建与存在周期 208

11.2.1初始化事务 209

11.2.2创建事务 209

11.2.3应用SELECT语句查看数据是否被正确输入 209

11.2.4提交事务 210

11.2.5撤销事务(事务回滚) 210

11.2.6事务的存在周期 211

11.3 MySQL行为 211

11.3.1自动提交 212

11.3.2事务的孤立级 213

11.3.3修改事务的孤立级 213

11.4事务和性能 214

11.4.1应用小事务 214

11.4.2选择合适的孤立级 214

11.4.3死锁的概念与避免 214

11.5 MySQL伪事务 215

11.5.1用表锁定代替事务 215

11.5.2应用表锁实现伪事务 217

11.6上机实践 218

11.6.1使用事务处理技术实现银行的安全转账(PHP) 218

11.6.2批处理中使用事务(Java) 219

第12章 实施管理任务——MySQL系统管理 222

12.1 MySQL系统管理 222

12.1.1管理职责概述 222

12.1.2日常管理 223

12.1.3安全问题 224

12.1.4数据库修复和维护 225

12.2数据目录的位置 225

12.3数据目录的结构 227

12.4 MySQL服务器如何提供对数据的访问 228

12.5 MySQL数据库在文件系统里如何表示 228

12.6 MySQL数据表在文件系统里如何表示 229

12.6.1 ISAM数据表 229

12.6.2 MyISAM数据表 230

12.6.3 MERGE数据表 230

12.6.4 BDB数据表 230

12.6.5 InnoDB数据表 230

12.6.6 HEAP数据表 230

12.7 SQL语句如何映射为数据表文件操作 230

12.7.1创建数据表 230

12.7.2更新数据表 231

12.7.3删除数据表 231

12.8操作系统对数据库和数据表命名的限制 231

12.9数据目录的结构对系统性能的影响 233

12.10 MySQL状态文件和日志文件 234

第三篇 高级技术 238

第13章 保存数据必备——数据库备份与还原 238

13.1数据备份 238

13.1.1使用mysqldump命令备份 238

13.1.2直接复制整个数据库目录 240

13.1.3使用mysqlhotcopy工具快速备份 240

13.2数据还原 241

13.2.1使用mysql命令还原 241

13.2.2直接复制到数据库目录 242

13.3数据库迁移 242

13.3.1 MySQL相同版本的数据库之间的迁移 243

13.3.2不同数据库之间的迁移 243

13.4表的导出和导入 243

13.4.1用SELECT…INTO OUTFILE导出文本文件 244

13.4.2用mysqldump命令导出文本文件 245

13.4.3用mysql命令导出文本文件 246

13.5上机实践 247

13.5.1将表中的内容导出到文件中 247

13.5.2使用mysql命令导出HTML文件 247

13.5.3导出XML文件 247

第14章 提高程序的便捷——MySQL性能优化 249

14.1优化简介 249

14.2优化查询 250

14.2.1分析语句查询 250

14.2.2索引对查询速度的影响 251

14.2.3使用索引查询 252

14.3优化数据库结构 254

14.3.1将字段很多的表分解成多个表 254

14.3.2增加中间表 255

14.3.3优化插入记录的速度 256

14.3.4分析表、检查表和优化表 257

14.4查询高速缓存 258

14.4.1检验高速缓存是否开启 258

14.4.2使用高速缓存 259

14.5优化多表查询 259

14.6优化表设计 261

14.7上机实践 261

14.7.1查看MySQL服务器的连接、查询次数 261

14.7.2检查表 262

14.7.3优化表 263

第15章 进入了武器库——MySQL数据库安全技术 265

15.1 MySQL基本的安全保护策略 265

15.2用户和权限管理 266

15.2.1使用CREATE USER命令创建用户 266

15.2.2使用DROP USER命令删除用户 266

15.2.3使用RENAME USER命令重命名用户 267

15.2.4 GRANT和REVOKE命令 267

15.3 MySQL数据库安全技术的常见问题 269

15.3.1权限更改何时生效 269

15.3.2设置账户密码 270

15.3.3使密码更安全 271

第16章 琐碎小事——MySQL日常管理 273

16.1连接故障恢复 273

16.1.1 MySQL套接字被误删 273

16.1.2忘记root口令 273

16.2日志文件管理 274

16.2.1错误日志 275

16.2.2通用查询日志 275

16.2.3二进制日志 275

16.2.4慢速查询日志 277

16.2.5日志文件维护 278

16.2.6日志失效处理 278

16.3 MySQL服务器镜像配置 282

16.3.1镜像机制概念 282

16.3.2建立主-从镜像关系 283

16.3.3 MySQL双机热备份 284

16.4 MySQL服务器的一些优化配置 287

16.4.1对MySQL服务器的连接监听情况进行控制 287

16.4.2启用或禁用LOAD DATA语句的LOCAL能力 287

16.4.3国际化和本地化 287

16.4.4对老数据表进行转换以激活MySQL 4.1的字符集支持 288

16.5优化MySQL服务器 289

16.5.1服务器参数变量的设置 289

16.5.2通用的MySQL服务器变量 290

16.5.3 InnoDB处理程序变量 291

16.6运行多个MySQL服务器 291

16.6.1运行多个MySQL服务器需要注意的问题 291

16.6.2设置MySQL服务器启动选项的策略 292

16.6.3用mysql_ multi脚本启动多个MySQL服务器 292

16.6.4在Windows系统上运行多个MySQL服务器 293

第17章 更上一层楼——PHP访问MySQL数据库 296

17.1 PHP语言概述 296

17.1.1什么是PHP 296

17.1.2为什么选择PHP 296

17.1.3 PHP的工作原理 297

17.1.4 PHP结合数据库应用的优势 298

17.2 PHP操作MySQL数据库的步骤 299

17.3使用PHP操作MySQL数据库 299

17.3.1 mysql connect()函数连接MySQL服务器 299

17.3.2 mysql select db()函数连接MySQL数据库 300

17.3.3 mysql_query()函数执行SQL语句 300

17.3.4 mysql_ fetch_ array()函数将结果集返回到数组中 301

17.3.5 mysql_ fetch_ row()函数从结果集中获取一行作为枚举数组 301

17.3.6 mysql_ num_rows()函数获取查询结果集中的记录数 301

17.3.7 mysql_ ee result()函数释放内存 302

17.3.8 mysql close()函数关闭连接 302

17.4 PHP管理MySQL数据库中的数据 302

17.4.1向数据库中添加数据 302

17.4.2浏览数据库中数据 303

17.4.3编辑数据库数据 304

17.4.4删除数据 305

17.4.5批量删除数据 306

17.5常见问题与解决方法 308

17.6 MySQL与PHP的应用实例——迷你日记 311

17.6.1迷你日记概述 311

17.6.2数据库设计 313

17.6.3用户登录 314

17.6.4发表日记 315

17.6.5分页显示日记列表 317

17.6.6弹出窗口修改日记 318

17.6.7查询日记 320

17.6.8应用JavaScript实现批量删除 322

第四篇 项目实战 328

第18章Java与MySQL数据库——图书管理系统 328

18.1开发背景 328

18.2系统分析 328

18.2.1需求分析 328

18.2.2可行性研究 329

18.3系统设计 330

18.3.1系统目标 330

18.3.2系统功能结构 330

18.3.3系统流程图 330

18.3.4文件夹组织结构 331

18.4系统预览 331

18.5数据库设计 333

18.5.1数据库分析 333

18.5.2数据库概念设计 333

18.5.3数据库逻辑结构 335

18.6公共模块设计 338

18.6.1数据库连接及操作类的编写 338

18.6.2字符串处理类的编写 341

18.6.3配置解决中文乱码的过滤器 342

18.7主界面设计 343

18.7.1主界面概述 343

18.7.2主界面技术分析 343

18.7.3主界面的实现过程 344

18.8管理员模块设计 345

18.8.1管理员模块概述 345

18.8.2管理员模块技术分析 345

18.8.3系统登录的实现过程 347

18.8.4查看管理员的实现过程 350

18.8.5添加管理员的实现过程 354

18.8.6设置管理员权限的实现过程 357

18.8.7删除管理员的实现过程 360

18.8.8单元测试 361

18.9图书借还模块设计 362

18.9.1图书借还模块概述 362

18.9.2图书借还模块技术分析 363

18.9.3图书借阅的实现过程 364

18.9.4图书续借的实现过程 368

18.9.5图书归还的实现过程 371

18.9.6图书借阅查询的实现过程 373

18.9.7单元测试 376

18.10开发问题解析 378

18.10.1如何自动计算图书归还日期 378

18.10.2如何对图书借阅信息进行统计排行 378

第19章C语言与MySQL数据库——图书管理系统 380

19.1需求分析 380

19.2系统设计 380

19.2.1系统目标 380

19.2.2系统功能结构 381

19.2.3系统预览 381

19.2.4开发及运行环境 383

19.3数据库设计 383

19.3.1安装MySQL数据库 383

19.3.2启动MySQL数据库 390

19.3.3创建数据库 391

19.3.4数据表结构 392

19.4 C语言开发数据库程序的流程 392

19.4.1在C语言中引入如下头文件 392

19.4.2引入库函数 393

19.5数据库管理模块设计 395

19.5.1 MySQL常用数据库操作函数 395

19.5.2连接MySQL数据库 396

19.5.3查询图书表记录 397

19.5.4插入图书表记录 399

19.5.5修改图书表记录 400

19.5.6删除图书表记录 401

19.6文件引用 402

19.7变量和函数定义 403

19.8管理模块设计 403

19.8.1显示主菜单信息 403

19.8.2显示所有图书信息 405

19.8.3添加图书信息 407

19.8.4修改图书信息 412

19.8.5删除图书信息 417

19.8.6查询图书信息 422