当前位置:首页 > 数据库 >
《MySQL技术内幕》电子书封面

MySQL技术内幕

  • 发布时间:2020年09月18日 09:36:26
  • 作者:保罗·迪布瓦
  • 大小:209 MB
  • 类别:MySQL电子书
  • 格式:PDF
  • 版本:第5版
  • 评分:9.1

    MySQL技术内幕 PDF 第5版

      给大家带来的一篇关于MySQL相关的电子书资源,介绍了关于MySQL、技术内幕方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小209 MB,保罗·迪布瓦编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.7。

      内容介绍

      《MySQL技术内幕(第5版)》是MySQL方面名副其实的经典著作,全面介绍MySQL的基础知识以及MySQL有别于其他数据库系统的独特功能,书中特别关注如何高效地使用和管理MySQL。

      《MySQL技术内幕(第5版)》由4个部分组成:第一部分集中介绍与数据库使用相关的一些基本概念,第二部分重点关注的是自己如何动手编写和使用MySQL的程序,第三部分主要是面向那些负责数据库管理的读者,第四部分提供了一些参考附录。书中包含大量示例,详尽地演示了MySQL的各项功能特性。此外,本书还为使用C语言、PHP语言和Perl语言开发数据库应用的读者提供了相关内容。

      《MySQL技术内幕(第5版)》不仅适合MySQL初学者阅读,也适合想要深入了解MySQL的数据库管理人员和开发人员参考。

      目录

      • 第1章 MySQL入门 1
      • 1.1 MySQL的用途 1
      • 1.2 示例数据库 3
      • 1.2.1 美史联盟项目 4
      • 1.2.2 成绩考评项目 5
      • 1.2.3 如何运用示例数据库 5
      • 1.3 基本数据库术语 6
      • 1.3.1 结构术语 6
      • 1.3.2 查询语言术语 8
      • 1.3.3 MySQL的体系结构术语 8
      • 1.4 MySQL教程 9
      • 1.4.1 获取示例数据库发行包 10
      • 1.4.2 基本配置要求 10
      • 1.4.3 建立和断开MySQL服务器连接 11
      • 1.4.4 执行SQL语句 13
      • 1.4.5 创建数据库 15
      • 1.4.6 创建表 15
      • 1.4.7 添加新行 29
      • 1.4.8 重置sampdb数据库 32
      • 1.4.9 检索信息 33
      • 1.4.10 删除或更新已有行 56
      • 1.5 mysql交互技巧 58
      • 1.5.1 简化连接过程 58
      • 1.5.2 在调用命令时减少打字输入 60
      • 1.6 何去何从 63
      • 第2章 使用SQL管理数据 64
      • 2.1 服务器的SQL模式 65
      • 2.2 MySQL的标识符语法和命名规则 66
      • 2.3 SQL语句的大小写规则 67
      • 2.4 字符集支持 68
      • 2.4.1 指定字符集 69
      • 2.4.2 确定可用字符集和当前设置 70
      • 2.4.3 Unicode支持 71
      • 2.5 数据库的选择、创建、删除和更改 72
      • 2.5.1 选择数据库 72
      • 2.5.2 创建数据库 72
      • 2.5.3 删除数据库 73
      • 2.5.4 更改数据库 73
      • 2.6 表的创建、删除、索引和更改 73
      • 2.6.1 存储引擎的特性 73
      • 2.6.2 创建表 77
      • 2.6.3 删除表 84
      • 2.6.4 索引表 84
      • 2.6.5 更改表结构 88
      • 2.7 获取数据库元数据 90
      • 2.7.1 使用SHOW语句获取元数据 90
      • 2.7.2 借助INFORMATION_SCHEMA获取元数据 92
      • 2.7.3 从命令行获取元数据 94
      • 2.8 使用连接实现多表检索 95
      • 2.8.1 内连接 96
      • 2.8.2 对被连接表里的列引用进行限定 97
      • 2.8.3 左(外)连接和右(外)连接 97
      • 2.9 使用子查询实现多表检索 100
      • 2.9.1 带关系比较运算符的子查询 101
      • 2.9.2 IN和NOT IN子查询 102
      • 2.9.3 ALL、ANY和SOME子查询 103
      • 2.9.4 EXISTS和NOT EXISTS子查询 103
      • 2.9.5 相关子查询 104
      • 2.9.6 FROM子句里的子查询 104
      • 2.9.7 将子查询改写为连接 104
      • 2.10 使用UNION实现多表检索 106
      • 2.11 多表删除和更新 108
      • 2.12 事务处理 110
      • 2.12.1 利用事务保证语句安全执行 111
      • 2.12.2 使用事务保存点 114
      • 2.12.3 事务隔离 114
      • 2.13 外键和引用完整性 116
      • 2.14 使用FULLTEXT搜索 121
      • 2.14.1 自然语言FULLTEXT搜索 122
      • 2.14.2 布尔模式的全文搜索 124
      • 2.14.3 查询扩展全文搜索 125
      • 2.14.4 配置全文搜索引擎 126
      • 第3章 数据类型 127
      • 3.1 数据值类别 128
      • 3.1.1 数值 128
      • 3.1.2 字符串值 129
      • 3.1.3 时态(日期/时间)值 136
      • 3.1.4 空间值 136
      • 3.1.5 布尔值 136
      • 3.1.6 NULL值 136
      • 3.2 MySQL数据类型 137
      • 3.2.1 数据类型概述 137
      • 3.2.2 表定义里的特殊列类型 138
      • 3.2.3 指定列的默认值 139
      • 3.2.4 数字数据类型 140
      • 3.2.5 字符串数据类型 145
      • 3.2.6 时态(日期/时间)数据类型 156
      • 3.3 MySQL如何处理无效数据值 163
      • 3.4 处理序列 164
      • 3.4.1 通用的AUTO_INCREMENT属性 164
      • 3.4.2 存储引擎特有的AUTO_INCREMENT属性 166
      • 3.4.3 使用AUTO_INCREMENT列需要考虑的问题 168
      • 3.4.4 AUTO_INCREMENT列的使用提示 168
      • 3.4.5 在无AUTO_INCREMENT的情况下生成序列 170
      • 3.5 表达式计算和类型转换 171
      • 3.5.1 编写表达式 172
      • 3.5.2 类型转换 177
      • 3.6 选择数据类型 183
      • 3.6.1 列要存放什么类型的值 184
      • 3.6.2 所有值是否都在某个特定的区间内 186
      • 第4章 视图和存储程序 188
      • 4.1 使用视图 189
      • 4.2 使用存储程序 191
      • 4.2.1 复合语句和语句分隔符 191
      • 4.2.2 存储函数和存储过程 193
      • 4.2.3 触发器 196
      • 4.2.4 事件 197
      • 4.3 视图和存储程序的安全性 199
      • 第5章 查询优化 200
      • 5.1 使用索引 200
      • 5.1.1 索引的优点 201
      • 5.1.2 索引的代价 203
      • 5.1.3 挑选索引 203
      • 5.2 MySQL查询优化程序 206
      • 5.2.1 查询优化程序的工作原理 207
      • 5.2.2 使用EXPLAIN检查优化程序的操作 209
      • 5.3 选择利于高效查询的数据类型 214
      • 5.4 选择利于高效查询的表存储格式 216
      • 5.5 高效加载数据 217
      • 5.6 调度、锁定和并发 219
      • 第6章 MySQL程序设计入门 221
      • 6.1 为何要自己编写MySQL程序 221
      • 6.2 MySQL提供的API 223
      • 6.2.1 C语言API 224
      • 6.2.2 Perl语言DBI API 224
      • 6.2.3 PHP语言API 225
      • 6.3 选择API 226
      • 6.3.1 执行环境 227
      • 6.3.2 性能 227
      • 6.3.3 开发时间 228
      • 6.3.4 可移植性 228
      • 第7章 用C语言编写MySQL程序 230
      • 7.1 编译和链接客户端程序 231
      • 7.2 连接服务器 233
      • 7.3 出错处理和命令选项处理 236
      • 7.3.1 出错检查 236
      • 7.3.2 实时获取连接参数 239
      • 7.3.3 把选项处理整合进客户端程序 248
      • 7.4 处理SQL语句 252
      • 7.4.1 处理那些修改行的语句 253
      • 7.4.2 处理那些返回结果集的语句 254
      • 7.4.3 通用的语句处理器 256
      • 7.4.4 另一种语句处理方法 257
      • 7.4.5 mysql_store_result()与mysql_use_result()的对比 258
      • 7.4.6 使用结果集元数据 260
      • 7.4.7 对特殊字符和二进制数据进行编码 264
      • 7.5 交互式语句执行程序 267
      • 7.6 编写支持SSL的客户端程序 268
      • 7.7 一次执行多条语句 272
      • 7.8 使用服务器端预处理语句 273
      • 7.9 使用预处理CALL支持 282
      • 第8章 用Perl DBI编写MySQL程序 286
      • 8.1 Perl脚本的特点 286
      • 8.2 Perl DBI概述 287
      • 8.2.1 DBI数据类型 287
      • 8.2.2 一个简单的DBI脚本 288
      • 8.2.3 出错处理 291
      • 8.2.4 处理那些修改行的语句 294
      • 8.2.5 处理那些返回结果集的语句 295
      • 8.2.6 在语句串里引用特殊字符 302
      • 8.2.7 占位符与预处理语句 305
      • 8.2.8 把查询结果绑定到脚本变量 307
      • 8.2.9 指定连接参数 307
      • 8.2.10 调试 310
      • 8.2.11 使用结果集元数据 312
      • 8.2.12 执行事务 316
      • 8.3 DBI脚本实践 317
      • 8.3.1 生成美史联盟成员名录 317
      • 8.3.2 发送成员资格更新通知 322
      • 8.3.3 编辑美史联盟成员条目 326
      • 8.3.4 寻找志趣相投的联盟成员 331
      • 8.3.5 把美史联盟成员名录放到网上 332
      • 8.4 使用DBI来开发Web应用程序 334
      • 8.4.1 配置Apache服务器来处理CGI脚本 335
      • 8.4.2 CGI.pm模块简介 336
      • 8.4.3 从Web脚本连接MySQL服务器 342
      • 8.4.4 基于Web的数据库浏览器 343
      • 8.4.5 成绩考评项目:分数浏览器 347
      • 8.4.6 美史联盟:搜索志趣相投的成员 350
      • 第9章 用PHP语言编写MySQL程序 354
      • 9.1 PHP概述 355
      • 9.1.1 一个简单的PHP脚本 357
      • 9.1.2 利用PHP库文件实现代码封装 359
      • 9.1.3 简单的数据检索页面 363
      • 9.1.4 处理语句结果 365
      • 9.1.5 测试查询结果里的NULL值 368
      • 9.1.6 使用预处理语句 369
      • 9.1.7 利用占位符来处理数据引号问题 369
      • 9.1.8 出错处理 371
      • 9.2 PHP脚本实战 372
      • 9.2.1 一个在线录入分数的应用程序 373
      • 9.2.2 创建交互式的在线测验 382
      • 9.2.3 在线编辑美史联盟成员信息 386
      • 第10章 MySQL管理简介 393
      • 10.1 MySQL组件 393
      • 10.3 访问控制与安全性 395
      • 10.4 数据库维护、备份和复制 395
      • 第11章 MySQL数据目录 397
      • 11.1 数据目录位置 397
      • 11.2 数据目录结构 398
      • 11.2.1 MySQL服务器提供的数据访问方式 399
      • 11.2.2 数据库在文件系统里的表示 400
      • 11.2.3 表在文件系统里的表示 400
      • 11.2.4 视图和触发器在文件系统里的表示 401
      • 11.2.5 SQL语句与表文件操作的对应关系 401
      • 11.2.6 操作系统对数据库对象名字的约束 402
      • 11.2.7 影响表最大长度的因素 403
      • 11.2.8 数据目录结构对系统性能的影响 404
      • 11.2.9 MySQL状态文件和日志文件 405
      • 11.3 迁移数据目录的内容 407
      • 11.3.1 迁移方法 407
      • 11.3.2 迁移注意事项 408
      • 11.3.3 评估迁移带来的影响 408
      • 11.3.4 迁移整个数据目录 409
      • 11.3.5 迁移单个数据库 409
      • 11.3.6 迁移单个表 409
      • 11.3.7 迁移InnoDB系统表空间 410
      • 11.3.8 迁移状态文件和日志文件 410
      • 第12章 MySQL的基本管理 412
      • 12.1 保护新安装的MySQL 412
      • 12.1.1 为初始的MySQL账户建立密码 413
      • 12.1.2 为附加服务器设置密码 416
      • 12.2 安排MySQL服务器的启动和关闭 416
      • 12.2.1 在Unix里运行MySQL服务器 417
      • 12.2.2 在Windows里运行MySQL服务器 420
      • 12.2.3 指定服务器启动选项 422
      • 12.2.4 控制服务器的连接监听 423
      • 12.2.5 停止服务器 424
      • 12.2.6 当你无法连接服务器时重新获得对它的控制 425
      • 12.3 使用系统变量和状态变量 426
      • 12.3.1 查看和设置系统变量值 427
      • 12.3.2 查看状态变量值 430
      • 12.4 插件接口 431
      • 12.5 存储引擎配置 433
      • 12.5.1 选择存储引擎 433
      • 12.5.2 选择默认存储引擎 434
      • 12.5.3 配置InnoDB存储引擎 435
      • 12.6 全球化问题 440
      • 12.6.1 配置时区支持 440
      • 12.6.2 选择默认字符集和排序规则 441
      • 12.6.3 选择出错信息的显示语言 442
      • 12.6.4 选择区域设置 442
      • 12.7 服务器调整 442
      • 12.7.1 用于服务器调整的通用型系统变量 443
      • 12.7.2 存储引擎调整 445
      • 12.7.3 使用查询缓存 449
      • 12.7.4 硬件优化 450
      • 12.8 服务器日志 451
      • 12.8.1 出错日志 453
      • 12.8.2 普通查询日志 454
      • 12.8.3 慢查询日志 454
      • 12.8.4 二进制日志 455
      • 12.8.5 中继日志 456
      • 12.8.6 使用日志表 456
      • 12.8.7 日志管理 457
      • 12.9 运行多个服务器 462
      • 12.9.1 运行多个服务器的常见问题 462
      • 12.9.2 配置和编译不同的服务器 464
      • 12.9.3 指定启动选项的策略 465
      • 12.9.4 使用mysqld_multi来管理服务器 466
      • 12.9.5 在Windows里运行多个服务器 468
      • 12.9.6 运行多个服务器的客户端 469
      • 12.10 升级MySQL 469
      • 第13章 安全性与访问控制 471
      • 13.1 保护对MySQL文件系统的访问 472
      • 13.1.1 如何窃取数据 472
      • 13.1.2 保护MySQL安装 473
      • 13.2 管理MySQL用户账户 477
      • 13.2.1 MySQL账户的高级管理 479
      • 13.2.2 权限分配 482
      • 13.2.3 显示账户权限 490
      • 13.2.4 撤销权限 490
      • 13.2.5 更改密码或重置丢失的密码 491
      • 13.2.6 避免访问控制风险 491
      • 13.2.7 插入式身份认证和代理用户 494
      • 13.3 权限表结构和内容 496
      • 13.3.1 权限表访问范围列 498
      • 13.3.2 权限表权限列 498
      • 13.3.3 权限表身份认证列 499
      • 13.3.4 权限表SSL相关列 499
      • 13.3.5 权限表资源管理列 500
      • 13.4 服务器如何控制客户端访问 500
      • 13.4.1 访问范围列的内容 500
      • 13.4.2 语句访问验证 502
      • 13.4.3 访问范围列匹配顺序 503
      • 13.4.4 权限难题 503
      • 13.5 使用SSL建立安全连接 506
      • 第14章 数据库维护、备份和复制 510
      • 14.1 预防性维护的基本原则 510
      • 14.2 在服务器运行时维护数据库 511
      • 14.2.1 为只读或读/写访问锁定单个表 512
      • 14.2.2 为只读访问锁定所有数据库 514
      • 14.3 基本的预防性维护 514
      • 14.3.1 运用服务器的自动恢复功能 514
      • 14.3.2 制订预防性维护计划 515
      • 14.4 数据库备份 516
      • 14.4.1 存储引擎的可移植特点 517
      • 14.4.2 用mysqldump程序制作文本备份 518
      • 14.4.3 制作二进制数据库备份 521
      • 14.4.4 备份InnoDB表 522
      • 14.5 将数据库复制到另一个服务器 522
      • 14.5.1 使用备份文件来复制数据库 523
      • 14.5.2 将数据库从一个服务器复制到另一个 523
      • 14.6 检查和修复数据库表 524
      • 14.6.1 使用CHECK TABLE检查表 525
      • 14.6.2 使用REPAIR TABLE修复表 525
      • 14.6.3 使用mysqlcheck检查修复表 525
      • 14.7 使用备份来恢复数据 526
      • 14.7.1 恢复整个数据库 527
      • 14.7.2 恢复单个表 527
      • 14.7.3 重新执行二进制日志文件里的语句 528
      • 14.7.4 应对InnoDB的自动恢复问题 529
      • 14.8 设置复制服务器 530
      • 14.8.1 复制的工作原理 530
      • 14.8.2 建立主从复制关系 531
      • 14.8.3 二进制日志格式 533
      • 14.8.4 使用复制从服务器来制作备份 534
      • 附录A 本书所需要的各类软件 535
      • 附录B 数据类型参考 543
      • 附录C 操作符与函数参考 555
      • 附录D 系统变量、状态变量和用户变量参考 608
      • 附录E SQL语法参考 651
      • 附录F MySQL程序参考 721

      学习笔记

      MYSQL如何自动为查询数据的结果编上序号详解

      前言 其实自己之前没遇到过这种在查询时给结果编号的情况,是同事打算跳槽,面试回来问到这种情况才想到去研究,以下以单表查询为例分析下: SQL: SELECT (@i:=@i+1) i,user_id,user_name FROM `dt_user_all_orders`, (SELECT @i:=0) as i WHERE user_name='qqqqqqqqqq' LIMIT 0,10; 结果: 如果需要分组后再进行序号显示: SELECT drug_productor,@y:=@y+1 as num FROM( SELECT drug_productor FROM ts_drug a GROUP BY drug_productor) c,(SELECT @y:=0) d 结果: 分析: 在开始是定义一个变量i,让它每增一条结果是➕1, @i:=1; 这里顺带复习下mysql定义用户变量的方式:select @变量名 对用户变量赋值有两种方式,一种是直接用"="号,另一种是用":="号。其区别在于使用set命令……

      mysql mysqldump数据备份和增量备份

      本篇文章主要讲如何使用shell实现mysql全量,增量备份。增量备份在周一-周六凌晨3点,会复制mysql-bin.00000*到指定目录;而全量备份则使用mysqldump将所有的数据库导出,每周日凌晨3点执,并会删除上周留下的mysq-bin.00000*。然后对mysql的备份操作会保留在bak.log文件中。如下图: 开始:2013年05月02日 15:10:57 结束:2013年05月02日 15:12:16 20130502.sql.tgz succ是由DBFullyBak.sh产生的,每周备份一次;mysql-bin.000001 copying;mysql-bin.000002 skip!;2013年05月02日 16:53:15 Bakup succ!则是由DBDailyBak.sh产生的,每天一次。 实现: 1.编写全量备份脚本 # vim /root/DBFullyBak.sh //添加以下内容 #!/bin/bash # Program # use mysqldump to Fully backup mysql data per week! # ……

      以上就是本次介绍的MySQL电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:Hadoop基础教程

      下一篇:交互式系统设计:HCI、UX和交互设计指南

      展开 +

      收起 -

      下载地址:百度网盘下载
      MySQL相关电子书
      MySQL核心技术与最佳实践
      MySQL核心技术与最佳实践 全书清晰版 立即下载
      零点起飞学MySQL
      零点起飞学MySQL 原书扫描版

      本书是一本MySQL的入门教程,是手把手教会读者使用该数据库的入门教程。本书概念清楚,用穿插类比和图解的方式进行讲解,可以让读者更加直观地理解和掌握MySQL的各个知识点。本书附带1张光盘,收录了本书配套多媒体教学视频及涉及的源文件,便于读者高效、直观地学习。

      立即下载
      MySQL与MariaDB学习指南
      MySQL与MariaDB学习指南 高清版

      MySQL与MariaDB学习指南 使读者不仅能够深入了解MySQL这种主流数据库,还能全面掌握作为开源数据库新秀的MariaDB的使用方法。书中内容由浅至深、层层深入,从分步介绍如何安装MySQL和MariaDB,到

      立即下载
      MySQL 8 Cookbook
      MySQL 8 Cookbook 中文影印版

      MySQL 8的更新幅度在MySQL历史上可谓空前,增添很多重磅新特性——“数据字典”取消了已存在几十年的frm文件,将插件式数据库的重心偏向InnoDB,极大提高meta data的访问性能,并支持了DDL原子性

      立即下载
      MySQL 8从入门到精通
      MySQL 8从入门到精通 视频教学版

      MySQL被设计方案为1个可移植的数据库查询,基本上能在当今全部的电脑操作系统上运作,如Linux、Solaris、FreeBSD、Mac和Windows。开源系统MySQL数据库查询发展趋势到今日,早已具备了十分普遍的客

      立即下载
      读者留言
      王哲瀚

      王哲瀚 提供上传

      资源
      24
      粉丝
      14
      喜欢
      172
      评论
      10

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com