MySQL 5.7从入门到精通(视频教学版)

MySQL 5.7从入门到精通(视频教学版) pdf epub mobi txt 电子书 下载 2025

刘增杰 著
图书标签:
  • MySQL
  • 数据库
  • SQL
  • 入门
  • 精通
  • 视频教程
  • 5
  • 7
  • 开发
  • 编程
  • 数据管理
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 清华大学出版社
ISBN:9787302447023
版次:1
商品编码:11979137
包装:平装
开本:16开
出版时间:2016-08-01
用纸:胶版纸
页数:606
字数:1005000
正文语种:中文

具体描述

产品特色

编辑推荐

  内容全面:涵盖了所有MySQL的基础知识点,由浅入深地掌握MySQL数据库开发技术。

  图文并茂:在介绍案例的过程中,每一个操作均有对应步骤和过程说明。这种图文结合的方式使读者在学习过程中能够直观、清晰地看到操作的过程以及效果,便于读者更快地理解和掌握。

  易学易用:颠覆传统“看”书的观念,变成一本能“操作”的图书。

  案例丰富:把知识点融汇于系统的案例实训当中,并且结合综合案例进行讲解和拓展。进而达到“知其然,并知其所以然”的效果。

  提示说明:本书对读者在学习过程中可能会遇到的疑难问题以“提示”的形式进行了说明,以免读者在学习的过程中走弯路。


内容简介

  本书主要包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与恢复、日志以及性能优化等。最后通过两个综合案例的数据库设计,进一步讲述MySQL在实际工作中的应用。重点介绍MySQL安装与配置、数据类型和运算符以及数据表的操作。本书注重实战操作,帮助读者循序渐进地掌握MySQL中的各项技术。

  本书共有480个实例和14个综合案例,还有大量的经典习题。下载文件中赠送了近20小时培训班形式的视频教学录像,详细讲解了书中每一个知识点和每一个数据库操作的方法和技巧。同时下载文件中还提供了本书所有例子的源代码,读者可以直接查看和调用。

  本书适合MySQL数据库初学者、MySQL数据库开发人员和MySQL数据库管理员,同时也能作为高等院校相关专业师生的教学用书。


作者简介

  刘增杰,IT资深专家,从事行业十余年,出版多部作品。


内页插图

目录

第1章 初识MySQL 1

1.1 数据库基础 1

1.1.1 什么是数据库 1

1.1.2 表 2

1.1.3 数据类型 2

1.1.4 主键 2

1.2 数据库技术构成 3

1.2.1 数据库系统 3

1.2.2 SQL语言 4

1.2.3 数据库访问接口 5

1.3 什么是MySQL 6

1.3.1 客户机-服务器软件 6

1.3.2 MySQL版本 6

1.3.3 MySQL的优势 7

1.3.4 MySQL 5.7的新功能 8

1.4 MySQL工具 8

1.4.1 MySQL命令行实用程序 9

1.4.2 MySQL Workbench 10

1.5 如何学习MySQL 10

第2章 MySQL的安装与配置 12

2.1 Windows平台下安装与配置MySQL 5.7 12

2.1.1 安装MySQL 5.7 12

2.1.2 配置MySQL 5.7 18

2.2 启动服务并登录MySQL数据库 22

2.2.1 启动MySQL服务 22

2.2.2 登录MySQL数据库 24

2.2.3 配置Path变量 27

2.3 MySQL常用图形管理工具 28

2.4 Linux平台下安装与配置MySQL 5.7 29

2.4.1 Linux操作系统下的MySQL版本介绍 29

2.4.2 安装和配置MySQL的RPM包 31

2.4.3 安装和配置MySQL的源码包 35

2.5 专家解惑 36

2.6 经典习题 36

第3章 数据库的基本操作 37

3.1 创建数据库 37

3.2 删除数据库 39

3.3 数据库存储引擎 39

3.3.1 MySQL存储引擎简介 39

3.3.2 InnoDB存储引擎 41

3.3.3 MyISAM存储引擎 42

3.3.4 MEMORY存储引擎 43

3.3.5 存储引擎的选择 43

3.4 综合案例——数据库的创建和删除 44

3.5 专家解惑 46

3.6 经典习题 46

第4章 数据表的基本操作 47

4.1 创建数据表 47

4.1.1 创建表的语法形式 47

4.1.2 使用主键约束 49

4.1.3 使用外键约束 50

4.1.4 使用非空约束 51

4.1.5 使用唯一性约束 52

4.1.6 使用默认约束 53

4.1.7 设置表的属性值自动增加 53

4.2 查看数据表结构 54

4.2.1 查看表基本结构语句DESCRIBE 54

4.2.2 查看表详细结构语句SHOW CREATE TABLE 55

4.3 修改数据表 56

4.3.1 修改表名 57

4.3.2 修改字段的数据类型 57

4.3.3 修改字段名 58

4.3.4 添加字段 59

4.3.5 删除字段 62

4.3.6 修改字段的排列位置 63

4.3.7 更改表的存储引擎 64

4.3.8 删除表的外键约束 65

4.4 删除数据表 67

4.4.1 删除没有被关联的表 67

4.4.2 删除被其他表关联的主表 67

4.5 综合案例——数据表的基本操作 69

4.6 专家解惑 77

4.7 经典习题 78

第5章 数据类型和运算符 80

5.1 MySQL数据类型介绍 80

5.1.1 整数类型 80

5.1.2 浮点数类型和定点数类型 82

5.1.3 日期与时间类型 84

5.1.4 文本字符串类型 96

5.1.5 二进制字符串类型 101

5.2 如何选择数据类型 104

5.3 常见运算符介绍 105

5.3.1 运算符概述 105

5.3.2 算术运算符 106

5.3.3 比较运算符 107

5.3.4 逻辑运算符 116

5.3.5 位运算符 119

5.3.6 运算符的优先级 122

5.4 综合案例——运算符的使用 123

5.5 专家解惑 125

5.6 经典习题 126

第6章 MySQL函数 127

6.1 MySQL函数简介 127

6.2 数学函数 128

6.2.1 绝对值函数ABS(x)和返回圆周率的函数PI() 128

6.2.2 平方根函数SQRT(x)和求余函数MOD(x,y) 128

6.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 129

6.2.4 获取随机数的函数RAND()和RAND(x) 130

6.2.5 函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 130

6.2.6 符号函数SIGN(x) 131

6.2.7 幂运算函数POW(x,y)、POWER(x,y)和EXP(x) 132

6.2.8 对数运算函数LOG(x)和LOG10(x) 132

6.2.9 角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 133

6.2.10 正弦函数SIN(x)和反正弦函数ASIN(x) 133

6.2.11 余弦函数COS(x)和反余弦函数ACOS(x) 134

6.2.12 正切函数、反正切函数和余切函数 134

6.3 字符串函数 135

6.3.1 计算字符串字符数的函数和字符串长度的函数 135

6.3.2 合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 136

6.3.3 替换字符串的函数INSERT(s1,x,len,s2) 137

6.3.4 字母大小写转换函数 137

6.3.5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n) 138

6.3.6 填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2) 139

6.3.7 删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s) 139

6.3.8 删除指定字符串的函数TRIM(s1 FROM s) 140

6.3.9 重复生成字符串的函数REPEAT(s,n) 141

6.3.10 空格函数SPACE(n)和替换函数REPLACE(s,s1,s2) 141

6.3.11 比较字符串大小的函数STRCMP(s1,s2) 142

6.3.12 获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len) 142

6.3.13 匹配子串开始位置的函数 143

6.3.14 字符串逆序的函数REVERSE(s) 143

6.3.15 返回指定位置的字符串的函数 144

6.3.16 返回指定字符串位置的函数FIELD(s,s1,s2,…) 144

6.3.17 返回子串位置的函数FIND_IN_SET(s1,s2) 145

6.3.18 选取字符串的函数MAKE_SET(x,s1,s2,…) 145

6.4 日期和时间函数 146

6.4.1 获取当前日期的函数和获取当前时间的函数 146

6.4.2 获取当前日期和时间的函数 146

6.4.3 UNIX时间戳函数 147

6.4.4 返回UTC日期的函数和返回UTC时间的函数 148

6.4.5 获取月份的函数MONTH(date)和MONTHNAME(date) 148

6.4.6 获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 149

6.4.7 获取星期数的函数WEEK(d)和WEEKOFYEAR(d) 150

6.4.8 获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d) 151

6.4.9 获取年份、季度、小时、分钟和秒钟的函数 151

6.4.10 获取日期的指定值的函数EXTRACT(type FROM date) 152

6.4.11 时间和秒钟转换的函数 153

6.4.12 计算日期和时间的函数 153

6.4.13 将日期和时间格式化的函数 156

6.5 条件判断函数 159

6.5.1 IF(expr,v1,v2)函数 159

6.5.2 IFNULL(v1,v2)函数 160

6.5.3 CASE函数 160

6.6 系统信息函数 161

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

6.6.2 获取用户名的函数 163

6.6.3 获取字符串的字符集和排序方式的函数 163

6.6.4 获取最后一个自动生成的ID值的函数 164

6.7 加/解密函数 166

6.7.1 加密函数PASSWORD(str) 166

6.7.2 加密函数MD5(str) 167

6.7.3 加密函数ENCODE(str,pswd_str) 167

6.7.4 解密函数DECODE(crypt_str,pswd_str) 167

6.8 其他函数 168

6.8.1 格式化函数FORMAT(x,n) 168

6.8.2 不同进制的数字进行转换的函数 168

6.8.3 IP地址与数字相互转换的函数 169

6.8.4 加锁函数和解锁函数 170

6.8.5 重复执行指定操作的函数 170

6.8.6 改变字符集的函数 171

6.8.7 改变数据类型的函数 172

6.9 综合案例——MySQL函数的使用 172

6.10 专家解惑 176

6.11 经典习题 176

第7章 查询数据 178

......

第22章 PHP操作MySQL数据库 573

22.1 PHP访问MySQL数据库的一般步骤 573

22.2 连接数据库前的准备工作 574

22.3 PHP操作MySQL数据库的函数 575

22.3.1 通过MySQLi类库访问MySQL数据库 575

22.3.2 使用MySQLi_connect()函数连接MySQL服务器 577

22.3.3 使用MySQLi_select_db()函数选择数据库文件 577

22.3.4 使用MySQLi_query()函数执行SQL语句 578

22.3.5 使用MySQLi_fetch_assoc ()函数从数组结果集中获取信息 578

22.3.6 使用MySQLi_fetch_object()函数从结果中获取一行作为对象 578

22.3.7 使用MySQLi_num_rows()函数获取查询结果集中的记录数 579

22.3.8 使用MySQLi_free_result()函数释放资源 579

22.3.9 使用MySQLi_close()函数关闭连接 579

22.4 综合实例1——使用insert语句动态添加用户信息 580

22.5 综合实例2——使用select语句查询数据信息 583

22.6 专家解惑 585

22.7 经典习题 585

第23章 新闻发布系统数据库设计 586

23.1 系统概述 586

23.2 系统功能 587

23.3 数据库设计和实现 588

23.3.1 设计表 588

23.3.2 设计索引 592

23.3.3 设计视图 593

23.3.4 设计触发器 594

23.4 案例总结 595

第24章 论坛管理系统数据库设计 596

24.1 系统概述 596

24.2 系统功能 597

24.3 数据库设计和实现 598

24.3.1 设计方案图表 598

24.3.2 设计表 600

24.3.3 设计索引 603

24.3.4 设计视图 604

24.3.5 设计触发器 605

24.4 案例总结 606


精彩书摘

  第 1 章

  初识MySQL

  MySQL是一个开放源代码的数据库管理系统(DBMS),它是由MySQL AB公司开发、发布并支持的。MySQL是一个跨平台的开源关系型数据库管理系统,广泛地应用在Internet上的中小型网站开发中。本章主要介绍数据库的基础知识,通过本章的学习,读者可以了解数据库的基本概念、数据库的构成和MySQL的基本知识。

  了解什么是数据库

  掌握什么是表、数据类型和主键

  熟悉数据库的技术构成

  熟悉什么是MySQL

  掌握常见的MySQL工具

  了解如何学习MySQL

  1.1 数据库基础

  数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。本节将介绍数据库中的一些基本概念,包括:数据库的定义、数据表的定义和数据类型等。

  1.1.1 什么是数据库

  数据库的概念诞生于60年前,随着信息技术和市场的快速发展,数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来了一场巨大的革命。

  数据库的发展大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有3种:层次式数据库、网络式数据库和关系式数据库。不同种类的数据库按不同的数据结构来联系和组织。

  对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。

  数据库的特点包括:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能。

  1.1.2 表

  在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。

  例如一个有关作者信息的名为authors的表中,每个列包含所有作者的某个特定类型的信息,比如“姓名”,而每行则包含了某个特定作者的所有信息:编号、姓名、性别、专业,如图1.1所示。

  编号 姓名 性别 专业

  100

  张三 f 计算机

  101

  李芬 m 会计

  102 岳阳 f 园林

  图1.1 authors表的结构与记录

  1.1.3 数据类型

  数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有:整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。

  表中的每一个字段就是某种指定数据类型,比如图1.1中“编号”字段为整数数据,“性别”字段为字符型数据。

  1.1.4 主键

  主键(Primary Key)又称主码,用于唯一地标识表中的每一条记录。可以定义表中的一列或多列为主键,主键列上不能有两行相同的值,也不能为空值。假如,定义authors表,该表给每一个作者分配一个“作者编号”,该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出现重复的名字,这与现实中的情况不相符合,因此“姓名”字段不适合做为主键。

  1.2 数据库技术构成

  数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分则主要包括DBMS、支持DBMS运行的操作系统,以及支持多种语言进行应用开发的访问技术等。本节将介绍数据库的技术构成。

  1.2.1 数据库系统

  数据库系统有3个主要的组成部分。

  数据库:用于存储数据的地方。

  数据库管理系统:用于管理数据库的软件。

  数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。

  数据库提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。

  数据库管理系统(DataBase Management System,DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。

  虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序(DataBase Application)的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信、访问和管理DBMS中存储的数据,允许用户插入、修改、删除DB中的数据。

  数据库系统如图1.2所示:

  图1.2 数据库系统

  1.2.2 SQL语言

  对数据库进行查询和修改操作的语言叫做SQL。SQL的含义是结构化查询语言(Structured Query Language)。SQL有许多不同的类型,有3个主要的标准:ANSI(美国国家标准机构)SQL,对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2。最近的SQL-99标准,从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持SQL-92标准。

  SQL包含以下4个部分。

  (1)数据定义语言(DDL):DROP、CREATE、ALTER等语句。

  (2)数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

  (3)数据查询语言(DQL):SELECT语句。

  (4)数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。

  下面是一条SQL语句的例子,该语句声明创建一个名叫students的表:

  CREATE TABLE students

  (

  student_id INT UNSIGNED,

  name VARCHAR(30),

  sex CHAR(1),

  birth DATE,

  PRIMARY KEY (student_id)

  );

  该表包含4个字段,分别为student_id、name、sex、birth,其中student_id定义为表的主键。

  现在只是定义了一张表格,但并没有任何数据,接下来这条SQL声明语句,将在students表中插入一条数据记录:

  INSERT INTO students (student_id, name, sex, birth)

  VALUES (41048101, 'Lucy Green', ’1’, ’1990-02-14’);

  执行完该SQL语句之后,students表中就会增加一行新记录,该记录中字段student_id的值为41048101,name字段的值为Lucy Green,sex字段值为1,birth字段值为1990-02-14。

  再使用SELECT查询语句获取刚才插入的数据,如下:

  SELECT name FROM students WHERE student_id = 41048101;

  +---------------+

  | name |

  +--------------+

  | Lucy Green |

  +--------------+

  上面简单列举了常用的数据库操作语句,在这里给读者一个直观的印象,读者可能还不能理解,接下来会在学习MySQL的过程中详细介绍这些知识。

  1.2.3 数据库访问接口

  不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口,执行SQL语句,进行数据库管理。主要的数据库访问接口有:

  1. ODBC

  Open Database Connectivity(ODBC,开放数据库互连)技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统(DBMS)。

  一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、MySQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

  2. JDBC

  Java Data Base Connectivity(JDBC,Java数据库连接)用于Java应用程序连接数据库的标准方法,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

  3. ADO.NET

  ADO.NET是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互。

  4. PDO

  PDO(PHP Data Object)为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO是PHP 5新加入的一个重大功能。

  针对不同的程序语言,MySQL提供了不同数据库的访问连接驱动,读者可以在下载页面(http://dev.MySQL.com/downloads/)下载相关驱动。

  1.3 什么是MySQL

  MySQL是一个小型关系数据库管理系统,与其他大型数据库管理系统(例如Oracle、DB2、SQL Server等)相比,MySQL规模小、功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用来说已经够用,这些特性使得MySQL成为世界上最受欢迎的开放源代码数据库。本节将介绍MySQL的特点。

  1.3.1 客户机-服务器软件

  主从式架构(Client-server model)或客户端-服务器(Client/Server)结构简称C/S结构,是一种网络架构,通常在该网络架构下软件分为客户端(Client)和服务器(Server)。

  服务器是整个应用系统资源的存储与管理中心,多个客户端则各自处理相应的功能,共同实现完整的应用。在客户/服务器结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回给用户,从而减少了网络数据传输量。

  用户使用应用程序时,首先启动客户端,通过有关命令告知服务器进行连接以完成各种操作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。

  这种系统的特点就是,客户端和服务器程序不在同一台计算机上运行,这些客户端和服务器程序通常归属不同的计算机。

  主从式架构通过不同的途径应用于很多不同类型的应用程序,比如,现在人们最熟悉的在因特网上使用的网页。例如,当顾客想要在当当网站上买书的时候,电脑和网页浏览器就被当作一个客户端,同时,组成当当网的电脑、数据库和应用程序就被当作服务器。当顾客的网页浏览器向当当网请求搜寻数据库相关的图书时,当当网服务器从当当网的数据库中找出所有该类型的图书信息,结合成一个网页,再发送回顾客的浏览器。服务器端一般使用高性能的计算机,并配合使用不同类型的数据库,比如Oracle、Sybase或者是MySQL等;客户端需要安装专门的软件,比如专门开发的客户端工具浏览器等。

  1.3.2 MySQL版本

  针对不同用户,MySQL分为两个不同的版本:

  MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持。

  MySQL Enterprise Server(企业版服务器):它能够以很高性价比为企业提供数据仓库应用,支持ACID事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话技术支持。

  MySQL Cluster主要用于架设集群服务器,需要在社区版或企业版基础上使用。

  MySQL的命名机制由3个数字和1个后缀组成,例如:MySQL-5.7.10。

  (1)第1个数字(5)是主版本号,描述了文件格式,所有版本5的发行版都有相同的文件格式。

  (2)第2个数字(7)是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。

  (3)第3个数字(10)是在此发行系列的版本号,随每次新分发版本递增。通常选择已经发行的最新版本。

  在MySQL开发过程中,同时存在多个发布系列,每个发布处在成熟度的不同阶段。

  (1)MySQL 5.7是最新开发的稳定(GA)发布系列,是将执行新功能的系列,目前已经可以正常使用。

  (2)MySQL 5.6是比较稳定(GA)发布系列。只针对漏洞修复重新发布,没有增加会影响稳定性的新功能。

  (3)MySQL 5.1是前一稳定(产品质量)发布系列。只针对严重漏洞修复和安全修复重新发布,没有增加会影响该系列的重要功能。

  对于MySQL 4.1、4.0和3.23等低于5.0的老版本,官方将不再提供支持。而所有发布的MySQL(Current Generally Available Release)版本已经经过严格标准的测试,可以保证其安全可靠地使用。针对不同的操作系统,读者可以在MySQL官方下载页面(http://dev.MySQL.com/downloads/)下载到相应的安装文件。

  ……

前言/序言

  前 言

  本书是面向MySQL数据库管理系统初学者的一本高质量的书籍。目前国内MySQL需求旺盛,各大知名企业高薪招聘技术能力强的MySQL开发人员和管理人员。本书根据这样的需求,针对初学者量身定做,内容注重实战,通过实例的操作与分析,引领读者快速学习和掌握MySQL开发和管理技术。

  本书内容

  第1章主要介绍数据库的技术构成和什么是MySQL,包括数据库基本概念和MySQL工具。

  第2章介绍MySQL的安装和配置,主要包括Windows平台下的安装和配置、Linux平台下的安装和配置、如何启动MySQL服务、如何更改MySQL的配置等。

  第3章介绍MySQL数据库的基本操作,包括创建数据库、删除数据库和MySQL数据库存储引擎。

  第4章介绍MySQL数据表的基本操作,主要包括创建数据表、查看数据表结构、修改数据表和删除数据表。

  第5章介绍MySQL中的数据类型和运算符,主要包括MySQL数据类型介绍、如何选择数据类型和常见运算符介绍。

  第6章介绍MySQL函数,包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数和其他函数。

  第7章介绍如何查询数据表中的数据,主要包括基本查询语句、单表查询、使用聚合函数查询、连接查询、子查询、合并查询结果、为表和字段取别名以及使用正则表达式查询。

  第8章介绍如何插入、更新与删除数据,包括插入数据、更新数据、删除数据。

  第9章介绍MySQL中的索引,包括索引简介、如何创建各种类型的索引和如何删除索引。

  第10章介绍MySQL中的存储过程和函数,包括存储过程和函数的创建、调用、查看、修改和删除。

  第11章介绍MySQL视图,主要介绍视图的概念、创建视图、查看视图、修改视图、更新视图和删除视图。

  第12章介绍MySQL触发器,包括创建触发器、查看触发器、触发器的使用和删除触发器。

  第13章介绍MySQL用户管理,主要包括MySQL中的各种权限表、账户管理、权限管理和MySQL的访问控制机制。

  第14章介绍MySQL数据库的备份和恢复,主要包括数据备份、数据恢复、数据库的迁移和数据表的导出和导入。

  第15章介绍MySQL日志,主要包括日志简介、二进制日志、错误日志、通用查询日志和慢查询日志。

  第16章介绍如何对MySQL进行性能优化,包括优化简介、优化查询、优化数据库结构和优化MySQL服务器。

  第17章介绍MySQL Replication复制数据的操作方法和技巧。

  第18章介绍MySQL Workbench设计MySQL数据库的方法和技巧。

  第19章介绍MySQL Cluster技术在分布式系统中为MySQL提供的作用。

  第20章介绍MySQL Utilities 管理MySQL数据库的方法和技巧。

  第21章介绍MySQL Proxy操作MySQL数据库的方法和技巧。

  第22章介绍PHP操作MySQL数据库的方法和技巧。

  第23章介绍新闻发布系统数据库的设计方法和实现过程。

  第24章介绍论坛系统数据库的设计方法和实现过程。

  本书特色

  内容全面:涵盖了所有MySQL的基础知识点,由浅入深地掌握MySQL数据库开发技术。

  图文并茂:在介绍案例的过程中,每一个操作均有对应步骤和过程说明。这种图文结合的方式使读者在学习过程中能够直观、清晰地看到操作的过程以及效果,便于读者更快地理解和掌握。

  易学易用:颠覆传统“看”书的观念,变成一本能“操作”的图书。

  案例丰富:把知识点融汇于系统的案例实训当中,并且结合综合案例进行讲解和拓展。进而达到“知其然,并知其所以然”的效果。

  提示说明:本书对读者在学习过程中可能会遇到的疑难问题以“提示”的形式进行了说明,以免读者在学习的过程中走弯路。

  超值下载包:本书共有480个详细实例和14个综合案例源代码,能让读者在实战应用中掌握MySQL的每一项技能。下载包中赠送近20小时培训班形式的视频教学录像,使本书真正体现“自学无忧”,令其物超所值。

  读者对象

  本书是一本完整介绍MySQL数据库技术的教程,内容丰富、条理清晰、实用性强,适合以下读者学习使用:

  ? MySQL数据库初学者。

  ? 对数据库开发有兴趣,希望快速、全面掌握MySQL的人员。

  ? 对其他数据库有一定的了解,想转到MySQL平台上的开发者。

  ? 高等院校相关专业的师生。

  鸣谢

  参与本书编写人员除了刘增杰外,还有刘玉萍、胡同夫、王英英、肖品、孙若淞、王攀登、王维维、梁云亮、刘海松、陈伟光、包惠利等人参与编写工作。虽然倾注了编者的努力,但由于水平有限、时间仓促,书中难免有错漏之处,请读者谅解。如果遇到问题或有意见和意见,敬请与我们联系,我们将全力提供帮助,技术支持QQ:2606372761。

  课件、源码、教学视频下载

  本书课件、源码、教学视频下载地址(注意数字及字母大小写)为:

  http://pan.baidu.com/s/1bFF1c6

  如果下载有问题,请电子邮件联系booksaga@163.com,邮件主题为“MySQL5.7课件”。

  编 者

  2016年8月


MySQL 5.7从入门到精通(视频教学版) 书籍简介 欢迎踏上MySQL 5.7的探索之旅!本书旨在为您提供一个全面、系统且极具实践性的学习平台,让您从一名初学者迅速成长为一名能够独立解决复杂数据库问题的MySQL专家。我们将循序渐进地引领您掌握MySQL 5.7的核心概念、常用操作以及高级特性,同时辅以详实的视频教学内容,确保您在理论理解和实际应用之间取得最佳平衡。 本书特色与优势 体系化学习路径: 我们精心设计的学习路线图,从数据库基础知识、MySQL的安装配置,到数据类型、表结构设计、SQL语言详解,再到索引优化、事务管理、存储引擎、复制与高可用,以及MySQL的安全管理和性能调优,每一个环节都衔接紧密,层层递进,确保您构建起扎实而完整的知识体系。 实战导向,拒绝纸上谈兵: 本书的核心在于“实践”。每一章节都配有丰富的代码示例、详尽的操作步骤和典型的应用场景,让您在亲手操作中巩固所学。我们设计的每一个实验都具有实际意义,旨在帮助您理解概念的落地应用。 视频教学,视听结合,学习更高效: 区别于纯文字书籍,本书最大的亮点在于配套的视频教学。您可以同步观看与章节内容紧密相关的视频教程,直观地了解每一步的操作过程,聆听资深讲师的讲解,大大提升学习的效率和趣味性。视频将演示各种命令的执行效果,展示错误的处理方式,以及如何通过实际操作来解决问题。 深入浅出,难度循序渐进: 无论您是完全没有数据库基础的新手,还是已有其他数据库经验的开发者,本书都能满足您的需求。初期章节以通俗易懂的方式讲解基础概念,后期则逐步深入到更复杂的原理和技术,确保您在学习过程中不会感到畏惧,并能持续获得进步的成就感。 聚焦MySQL 5.7,掌握当前主流技术: MySQL 5.7是当前企业级应用中广泛部署和使用的版本,掌握其特性对于您的职业发展至关重要。本书将深入讲解5.7版本的重要新特性和优化,让您站在技术的前沿。 详尽的SQL语言解析: SQL是数据库的灵魂。本书将全面而细致地讲解SQL的各个方面,包括数据查询(SELECT)、数据插入(INSERT)、数据更新(UPDATE)、数据删除(DELETE)、表和数据库的管理(CREATE, ALTER, DROP)、视图、存储过程、触发器、函数等,并结合大量实例说明。 精通索引与性能优化: 数据库性能是衡量系统优劣的重要指标。本书将花费大量篇幅讲解索引的原理、类型、创建与使用,以及如何通过EXPLAIN分析查询计划,识别性能瓶颈,并提供多种行之有效的性能调优策略,包括查询优化、配置优化、硬件优化等,让您的数据库运行如飞。 深入理解事务与并发控制: 事务是保障数据一致性的基石。本书将详细阐述事务的ACID特性,以及MySQL如何通过锁机制实现并发控制,深入剖析不同事务隔离级别带来的影响,帮助您写出健壮的并发应用。 探索存储引擎的奥秘: MySQL拥有多种强大的存储引擎,如InnoDB和MyISAM。本书将详细对比分析它们的优缺点,讲解InnoDB的各项特性,如ACID特性、行级锁、外键约束、全文索引等,帮助您根据实际需求选择最合适的存储引擎。 掌握复制与高可用解决方案: 在生产环境中,数据的备份、恢复、容灾和高可用性是必不可少的。本书将详细讲解MySQL的各种复制架构(主从复制、多主复制等),以及如何通过主从切换、集群等方案构建高可用数据库系统。 强化安全管理: 数据安全至关重要。本书将指导您如何进行用户权限管理、密码策略设置、数据加密、网络访问控制等,全方位保障您的数据库安全。 解决实际工程问题: 本书不仅传授理论知识,更注重培养解决实际问题的能力。通过大量的案例分析和故障排除指导,您可以学习如何定位和解决生产环境中遇到的各种MySQL问题。 谁适合阅读本书 初学者: 对数据库技术感兴趣,希望从零开始系统学习MySQL的IT新人、在校学生。 Web开发者: 需要深入理解MySQL以构建高性能、可扩展的Web应用程序的PHP、Java、Python、Node.js等语言的开发者。 后端工程师: 负责系统架构设计和数据库管理的后端工程师。 数据库管理员(DBA): 希望巩固和深化MySQL 5.7知识,提升管理和优化能力的DBA。 希望转型的IT从业者: 正在考虑转向数据库领域或其他与数据相关的技术岗位的人员。 学习本书,您将获得 扎实的理论基础: 清晰理解MySQL的核心概念和工作原理。 精湛的操作技能: 熟练掌握SQL语句的编写和MySQL命令的使用。 强大的问题解决能力: 能够独立分析和解决数据库相关的各种技术难题。 高效的性能调优技巧: 能够显著提升数据库的响应速度和整体性能。 高可用和灾备方案的部署能力: 能够为关键业务构建稳定可靠的数据库系统。 全面的安全防护意识和实践: 能够有效保护您的数据库免受威胁。 内容概要(不包含具体视频链接或代码) 第一部分:MySQL 5.7基础入门 1. 数据库与SQL基础 什么是数据库?为什么要使用数据库? 关系型数据库模型与SQL语言概述 MySQL 5.7的发展历程与重要特性概览 MySQL的安装与配置(Windows、Linux) MySQL客户端工具的使用(MySQL Workbench, MySQL Shell等) 连接MySQL服务器,执行基本SQL命令 2. MySQL数据类型与表结构设计 数值类型、字符串类型、日期时间类型、二进制类型等详解 约束(主键、外键、唯一、非空、默认值)的应用 表(CREATE TABLE)的创建与修改(ALTER TABLE) 表(DROP TABLE)的删除 字段的添加、删除与修改 3. SQL查询语言详解 SELECT语句的强大功能:查询、过滤、排序 WHERE子句:条件查询与逻辑运算符 ORDER BY子句:多字段排序与升降序 LIMIT子句:分页查询 聚合函数(COUNT, SUM, AVG, MAX, MIN)与GROUP BY子句 HAVING子句:对聚合结果进行过滤 JOIN语句:多表查询的艺术(INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN) 子查询(Subqueries):嵌套查询的技巧 UNION与UNION ALL:合并查询结果 4. SQL数据操纵与管理 INSERT语句:插入单条与多条记录 UPDATE语句:更新现有数据 DELETE语句:删除记录 TRUNCATE TABLE语句:快速清空表数据 批量数据导入与导出(LOAD DATA INFILE, SELECT ... INTO OUTFILE) 第二部分:MySQL 5.7高级特性与深入探索 5. 索引与性能优化 索引的概念、作用与原理 索引的类型(B-tree, Hash, Fulltext, Spatial) 索引的创建、删除与优化(CREATE INDEX, DROP INDEX) EXPLAIN命令:理解查询执行计划 如何分析慢查询日志 索引失效的常见原因与避免方法 覆盖索引、复合索引的妙用 数据库设计中的索引策略 6. 事务与并发控制 事务的ACID特性详解 START TRANSACTION, COMMIT, ROLLBACK语句 隔离级别(Read Uncommitted, Read Committed, Repeatable Read, Serializable) 锁机制:行锁、表锁、间隙锁 死锁的产生原因与解决 多版本并发控制(MVCC)在InnoDB中的应用 7. 存储引擎深入 InnoDB存储引擎:特性、架构与优化 事务、ACID、行锁、外键、全文索引、空间索引 InnoDB Buffer Pool、Redo Log、Undo Log MyISAM存储引擎:特点与适用场景 其他存储引擎简介 如何选择合适的存储引擎 8. 视图、存储过程、触发器与函数 视图(Views):简化复杂查询,提供数据抽象 存储过程(Stored Procedures):批量执行SQL语句,提高效率 触发器(Triggers):在特定事件发生时自动执行SQL语句 函数(Functions):封装逻辑,用于计算和处理数据 存储过程、触发器、函数的创建、调用与管理 第三部分:MySQL 5.7的部署、维护与高可用 9. MySQL复制与高可用 复制(Replication)的概念与原理 主从复制(Master-Slave Replication)的搭建与配置 基于日志的复制(Binary Log Replication) 多源复制 半同步复制(Semi-Synchronous Replication) 负载均衡与读写分离 高可用解决方案:主主复制、MHA、Galera Cluster等(概念介绍与原理) 10. MySQL备份与恢复 冷备份与热备份 逻辑备份(mysqldump)与物理备份(xtrabackup) 全量备份、增量备份与差异备份 数据恢复策略与实践 11. MySQL安全管理 用户管理与权限控制(CREATE USER, GRANT, REVOKE) 密码策略与加密 网络访问控制(hosts.allow, hosts.deny, my.cnf配置) SQL注入的防范 审计(Audit Plugin) 12. MySQL性能调优进阶 服务器配置参数优化(my.cnf/my.ini) 操作系统级别的性能优化 应用程序层面的数据库访问优化 识别和解决常见性能瓶颈 MySQL 5.7性能相关的重要新特性(如JSON支持) 附录: MySQL常用命令速查 SQL关键字参考 学习资源推荐 通过本书的学习,您将不仅掌握MySQL 5.7的使用技能,更能深入理解其背后的原理,从而能够从容应对各种实际开发和运维挑战,成为一名真正意义上的MySQL专家。期待您在MySQL世界的精彩旅程!

用户评价

评分

我一直坚信,学习任何一项技术,最终的目的都是为了更好地解决实际问题,而一本优秀的教程,应该能够帮助读者构建起解决问题的能力。《MySQL 5.7从入门到精通(视频教学版)》这个名字,让我看到了它在理论与实践之间搭建桥梁的潜力。我希望这本书能够不仅仅是提供API的罗列和语法的介绍,而是能够引导读者学会如何分析和解决在实际项目开发中遇到的各种数据库难题。例如,如何根据业务需求设计出合理高效的数据库表结构,如何进行数据的迁移和集成,如何在保证数据一致性的前提下提升查询性能,以及如何在面对海量数据时进行有效的管理和分析。我特别期待书中能够包含一些真实的项目案例分析,通过这些案例,我能够学习到如何在不同的场景下运用MySQL技术,并理解不同解决方案背后的权衡。同时,我也希望这本书能够帮助我养成良好的编码习惯,例如编写可读性高、易于维护的SQL语句,并能理解单元测试在数据库开发中的重要性。

评分

在我看来,一本优秀的MySQL书籍,应该能够体现出作者深厚的实践经验,并能将这些经验以清晰、系统的方式呈现给读者。《MySQL 5.7从入门到精通(视频教学版)》这个标题让我对这一点充满了期待。我希望这本书不仅仅是理论的堆砌,更能深入到MySQL 5.7的实际应用层面,例如如何进行数据库的性能优化,如何设计高效的索引,如何处理大数据量的查询,以及如何进行数据库的备份与恢复。我特别关注那些能够帮助我提升开发效率和代码质量的内容,比如存储过程、触发器、视图等高级特性的使用,以及如何利用MySQL的一些内置函数来简化开发工作。此外,在分布式系统和微服务架构日益普及的今天,我对MySQL在高可用性和可扩展性方面的解决方案也充满了兴趣,希望这本书能够适当地触及这些内容,让我对MySQL的整体能力有一个更全面的认识。对于我这样有一定开发经验但希望深化MySQL功底的开发者来说,能够学习到一些“压箱底”的技巧和最佳实践,将会非常有价值。

评分

作为一名热衷于技术探索的学习者,我一直在寻找能够帮助我全面理解MySQL 5.7核心机制的优质资源。《MySQL 5.7从入门到精通(视频教学版)》这个书名,无疑勾起了我对深入了解MySQL内部工作原理的强烈兴趣。我希望这本书能够超越表面的SQL语法操作,带领我深入到MySQL的架构层面,例如存储引擎的原理(如InnoDB和MyISAM的区别与选择),事务的ACID特性是如何实现的,锁机制是如何工作的,以及查询优化器是如何解析和执行SQL语句的。我非常期待这本书能够提供一些关于MySQL 5.7版本特有新功能和改进的详细讲解,比如JSON数据类型、GIS功能、或者在安全性方面的增强。另外,数据库的安全性也是我非常关注的方面,我希望书中能够包含关于用户权限管理、SQL注入防护、数据加密等方面的详尽指导。如果能够了解MySQL的日志系统(如二进制日志、错误日志、慢查询日志)及其应用,那对于数据库的维护和故障排查将会大有裨益。

评分

从一个初学者的角度来看,一本好的教程应该能够化繁为简,将复杂的概念讲解得通俗易懂。我一直觉得数据库的学习过程,尤其是SQL语句的书写和理解,对于初学者来说是一个不小的挑战。所以我特别希望《MySQL 5.7从入门到精通(视频教学版)》能够提供非常详尽的入门指导,从最基础的安装配置开始,一步步讲解数据库的基本概念,例如表、字段、数据类型、主键、外键等等,并用生动的例子来说明它们的作用。我理想中的教程,会用大量的截图和代码示例来辅助说明,让初学者能够轻松跟随操作。我希望这本书能够教会我如何创建数据库和表,如何进行数据的插入、查询、更新和删除,以及如何使用SQL的各种常用子句,比如WHERE, GROUP BY, ORDER BY, JOIN等。更重要的是,我希望它能让我理解不同SQL语句的执行逻辑,以及如何写出既正确又高效的查询。如果这本书还能提供一些常见的数据库错误及其解决方法,那对我来说就更完美了,这样我就可以在遇到问题时,能够自己动手解决,而不是一味地寻求他人的帮助。

评分

作为一个对数据库技术充满热情,并且希望在MySQL的世界里扎实前行的开发者,我一直都在寻找一本能够系统性地引导我入门并逐步精通的教材。当我偶然发现《MySQL 5.7从入门到精通(视频教学版)》这本书时,它的名字立刻吸引了我。标题中“从入门到精通”承诺了一个完整的学习路径,而“视频教学版”则预示着学习过程将更加生动有趣,能够满足我这种喜欢结合理论与实践的学习方式。我对于这本书的期待,不仅仅是停留在对MySQL 5.7这个具体版本的了解,更希望通过这本书的学习,能够建立起扎实的数据库设计、开发和运维基础,为我未来在数据驱动的开发领域打下坚实的地基。我尤其看重书籍在实际操作层面的指导,希望它能提供清晰易懂的步骤,让我能够快速上手,解决实际开发中遇到的数据库问题。同时,我也希望这本书能够涵盖MySQL 5.7版本的一些核心特性和最佳实践,让我能够写出更高效、更健壮的SQL语句,并理解数据库性能调优的基本原理。对于我而言,一本好的技术书籍,不仅仅是知识的传递,更是一种学习方法的启迪,一种解决问题的思路的培养,我相信这本书能够在我学习MySQL的道路上扮演这样一个重要角色。

评分

这个还不错,补齐10个字。

评分

挺好的鸭蛋,客服也很好哈哈

评分

书的印刷质量啊什么的没问题。是正品,很不错,还会换回经常来买。

评分

还不错

评分

自学java顺便学个数据库。

评分

MySQL最新版本挺好。

评分

一般般,随便看看

评分

不错的书,学习中!

评分

完美无伤,没有任何问题,很满意

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有