欢迎光临
免费的PDF电子书下载网站

MySQL 数据库应用案例课堂 PDF下载

编辑推荐

清华大学出版社“案例课堂”大系

丛书以案例的形式讲解软件的内容,读者可以在实践中熟练掌握软件的使用方法。
每一个案例都精挑细选,同时配有全程语音讲解的视频文件,方便读者学习。
案例的选材广泛,涉及到软件应用的各个领域、各个行业,学习无死角。

MySQL 数据库应用案例课堂 PDF下载

 ;

内容简介

本书从零基础讲解起步,用实例引导读者深入学习,采取“数据库基础→数据库的基本操作→SQL查询语句→数据库高级管理→项目开发与案例设计”的讲解模式,深入浅出地讲解MySQL的各项技术及实战技能。 本书共分5篇,第1篇主要讲解MySQL的基础知识,MySQL的安装与环境配置等;第2篇主要讲解操作数据库,创建、修改和删除数据表,数据类型和运算符,索引的操作,视图的操作等;第3篇主要讲解插入、更新与删除数据,MySQL函数,查询数据,存储过程和函数,MySQL触发器等;第4篇主要讲解MySQL安全性机制,MySQL数据备份与还原,管理MySQL日志,MySQL性能的优化,MySQL的高级特性和使用MySQL Workbench管理数据库;第5篇主要讲解Java访问MySQL数据库,PHP操作MySQL数据库,论坛管理系统数据库设计、新闻发布系统数据库设计。本书附赠光盘中包含丰富的资源,包括MySQL案例源代码、教学幻灯片、精品教学视频、MySQL常用命令速查手册、数据库工程师职业规划、数据库工程师面试技巧、数据库工程师常见面试题、MySQL常见错误及解决方案、MySQL数据库经验及技巧大汇总等。 本书适合任何想学习MySQL的人员,无论您是否从事计算机相关行业,无论您是否接触过MySQL,通过学习本书均可快速掌握MySQL的管理方法和技巧。

作者简介

暂无

MySQL 数据库应用案例课堂 PDF下载

目录

目 录
第1篇 MySQL数据库基础

第1章 初识MySQL 3
1.1 关于数据库的基本概念 4
1.1.1 数据库 4
1.1.2 表 4
1.1.3 数据类型 5
1.1.4 主键 5
1.2 数据库技术构成 5
1.2.1 数据库系统 5
1.2.2 SQL语言 6
1.2.3 数据库访问技术 7
1.3 MySQL简介 8
1.3.1 客户机-服务器软件 8
1.3.2 MySQL的版本 8
1.3.3 MySQL的优势 9
1.3.4 MySQL 5.6的新功能 10
1.4 MySQL的工具 10
1.4.1 MySQL的命令行实用工具 11
1.4.2 MySQL Workbench 11
1.5 高手甜点 12
1.6 跟我学上机 13
第2章 MySQL的安装与环境配置 15
2.1 Windows系统中安装与配置MySQL 16
2.1.1 安装MySQL 16
2.1.2 配置MySQL 21
2.2 启动服务并登录MySQL数据库 26
2.2.1 查看和启动MySQL服务 26
2.2.2 登录MySQL数据库 27
2.2.3 配置Path变量 31
2.3 Linux系统中安装与配置MySQL 32
2.3.1 Linux操作系统下的MySQL
版本介绍 32
2.3.2 安装和配置MySQL的
RPM包 34
2.3.3 安装和配置MySQL的源码包 38
2.4 MySQL常用图形管理工具 39
2.5 高手甜点 40
2.6 跟我学上机 40

  
第2篇 MySQL数据库的基本操作

第3章 操作数据库 43
3.1 创建数据库 44
3.2 删除数据库 45
3.3 数据库存储引擎 45
3.3.1 InnoDB存储引擎 47
3.3.2 MyISAM存储引擎 48
3.3.3 MEMORY存储引擎 48
3.3.4 存储引擎的选择 49
3.4 综合实例――数据库的创建和删除 49
3.5 高手甜点 51
3.6 跟我学上机 52
第4章 创建、修改和删除数据表 53
4.1 创建数据表 54
4.1.1 创建表的语法形式 54
4.1.2 使用主键约束 55
4.1.3 使用外键约束 56
4.1.4 使用非空约束 57
4.1.5 使用唯一性约束 58
4.1.6 使用默认约束 58
4.1.7 设置表的属性值自动增加 59
4.2 查看数据表结构 60
4.2.1 查看表的基本结构语句
DESCRIBE 60
4.2.2 查看表的详细结构语句SHOW
CREATE TABLE 61
4.3 修改数据表 62
4.3.1 修改表名 62
4.3.2 修改字段的数据类型 63
4.3.3 修改字段名 64
4.3.4 添加字段 65
4.3.5 删除字段 67
4.3.6 修改字段的排列位置 68
4.3.7 更改表的存储引擎 69
4.3.8 删除表的外键约束 70
4.4 删除数据表 71
4.4.1 删除没有被关联的表 72
4.4.2 删除被其他表关联的主表 72
4.5 综合实例――数据表的基本操作 74
4.6 高手甜点 81
4.7 跟我学上机 82
第5章 数据类型和运算符 85
5.1 MySQL数据类型介绍 86
5.1.1 整数类型 86
5.1.2 浮点数类型和定点数类型 88
5.1.3 日期与时间类型 89
5.1.4 字符串类型 100
5.1.5 二进制类型 105
5.2 选择数据类型的方法 108
5.3 常见运算符介绍 109
5.3.1 运算符概述 109
5.3.2 算术运算符 110
5.3.3 比较运算符 111
5.3.4 逻辑运算符 119
5.3.5 位运算符 121
5.3.6 运算符的优先级 124
5.4 综合实例――运算符的使用 125
5.5 高手甜点 127
5.6 跟我学上机 128
第6章 索引的操作 129
6.1 索引简介 130
6.1.1 索引的含义和特点 130
6.1.2 索引的分类 130
6.1.3 索引的设计原则 131
6.2 创建索引 132
6.2.1 创建表的时候创建索引 132
6.2.2 在已有的表上创建索引 137
6.3 删除索引 144
6.4 综合实例――创建索引 145
6.5 高手甜点 148
6.6 跟我学上机 148
第7章 视图的操作 151
7.1 视图概述 152
7.1.1 视图的含义 152
7.1.2 视图的作用 153
7.2 创建视图 153
7.2.1 创建视图的语法形式 153
7.2.2 在单表上创建视图 154
7.2.3 在多表上创建视图 155
7.3 查看视图 156
7.3.1 用DESCRIBE语句查看视图的
基本信息 156
7.3.2 用SHOW TABLE STATUS语句
查看视图的基本信息 157
7.3.3 用SHOW CREATE VIEW语句
查看视图的详细信息 158
7.3.4 在views表中查看视图的详细
信息 158
7.4 修改视图 160
7.4.1 用CREATE OR REPLACE VIEW
语句修改视图 160
7.4.2 用ALTER语句修改视图 161
7.5 更新视图 161
7.6 删除视图 164
7.7 综合实例――视图应用 165
7.8 高手甜点 172
7.9 跟我学上机 173

  
第3篇 SQL查询语句

第8章 插入、更新与删除数据 177
8.1 插入数据 178
8.1.1 为表的所有字段插入数据 178
8.1.2 为表的指定字段插入数据 180
8.1.3 同时插入多条记录 181
8.1.4 将查询结果插入表中 183
8.2 更新数据 184
8.3 删除数据 186
8.4 综合实例――记录的插入、更新
和删除 188
8.5 高手甜点 192
8.6 跟我学上机 193
第9章 MySQL函数 195
9.1 MySQL中的函数分类 196
9.2 数学函数 196
9.2.1 绝对值函数ABS(x)和返回
圆周率的函数PI() 196
9.2.2 平方根函数SQRT(x)和求余函数
MOD(x,y) 197
9.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 197
9.2.4 获取随机数的函数RAND()
和RAND(x) 198
9.2.5 四舍五入函数ROUND(x)、
ROUND(x,y)和
TRUNCATE(x,y) 198
9.2.6 符号函数SIGN(x) 200
9.2.7 幂运算函数POW(x,y)、
POWER(x,y)和EXP(x) 200
9.2.8 对数运算函数LOG(x)和
LOG10(x) 201
9.2.9 角度与弧度相互转换的函数
RADIANS(x)和DEGREES(x) 201
9.2.10 正弦函数SIN(x)和反正弦
函数ASIN(x) 202
9.2.11 余弦函数COS(x)和反余弦函数
ACOS(x) 202
9.2.12 正切函数、反正切函数和余切
函数 203
9.3 字符串函数 204
9.3.1 计算字符串中字符数的函数
和字符串长度的函数 204
9.3.2 合并字符串函数CONCAT(s1,s2,…)、
CONCAT_WS(x,s1,s2,…) 204
9.3.3 替换字符串的函数
INSERT(s1,x,len,s2) 205
9.3.4 字母大小写转换函数 206
9.3.5 获取指定长度字符串的函数
LEFT(s,n)和RIGHT(s,n) 206
9.3.6 填充字符串的函数LPAD(s1,len,s2)
和RPAD(s1,len,s2) 207
9.3.7 删除空格的函数LTRIM(s)、
RTRIM(s)和TRIM(s) 208
9.3.8 删除指定字符串的函数TRIM
(s1 FROM s) 208
9.3.9 重复生成字符串的函数
REPEAT(s,n) 209
9.3.10 空格函数SPACE(n)和替换函数
REPLACE(s,s1,s2) 209
9.3.11 比较字符串大小的函数
STRCMP(s1,s2) 210
9.3.12 获取子串的函数SUBSTRING(s,n,len)
和MID(s,n,len) 210
9.3.13 匹配子串开始位置的函数 211
9.3.14 字符串逆序的函数
REVERSE(s) 211
9.3.15 返回指定位置的字符串的函数
ELT(N,字符串1,字符串2,字符
串3,...,字符串N) 212
9.3.16 返回指定字符串位置的函数
FIELD(s,s1,s2,…) 212
9.3.17 返回子串位置的函数
FIND_IN_SET(s1,s2) 212
9.3.18 选取字符串的函数
MAKE_SET(x,s1,s2,…) 213
9.4 日期和时间函数 213
9.4.1 获取当前日期的函数和获取当前
时间的函数 214
9.4.2 获取当前日期和时间的函数 214
9.4.3 UNIX时间戳函数 215
9.4.4 返回UTC日期的函数和返回
UTC时间的函数 215
9.4.5 获取月份的函数MONTH(date)
和MONTHNAME(date) 216
9.4.6 获取星期的函数DAYNAME(d)、
DAYOFWEEK(d)和
WEEKDAY(d) 216
9.4.7 获取星期数的函数WEEK(d)
和WEEKOFYEAR(d) 217
9.4.8 获取天数的函数DAYOFYEAR(d)
和DAYOFMONTH(d) 218
9.4.9 获取年份、季度、小时、分钟和
秒钟的函数 219
9.4.10 获取日期的指定值的函数
EXTRACT(type FROM date) 220
9.4.11 时间和秒钟转换的函数 220
9.4.12 计算日期和时间的函数 221
9.4.13 格式化日期和时间的函数 224
9.5 条件判断函数 227
9.5.1 IF(expr,v1,v2)函数 227
9.5.2 IFNULL(v1,v2)函数 227
9.5.3 CASE函数 228
9.6 系统信息函数 229
9.6.1 获取MySQL版本号、连接数和
数据库名的函数 229
9.6.2 获取用户名的函数 231
9.6.3 获取字符串的字符集和排序方式
的函数 231
9.6.4 获取最后一个自动生成的ID值
的函数 232
9.7 加密和解密函数 234
9.7.1 加密函数PASSWORD(str) 234
9.7.2 加密函数MD5(str) 234
9.7.3 加密函数ENCODE
(str,pswd_str) 234
9.7.4 解密函数DECODE
(crypt_str,pswd_str) 235
9.8 其他函数 235
9.8.1 格式化函数FORMAT(x,n) 235
9.8.2 不同进制的数字进行转换的
函数 236
9.8.3 IP地址与数字相互转换的
函数 236
9.8.4 加锁函数和解锁函数 237
9.8.5 重复执行指定操作的函数 238
9.8.6 改变字符集的函数 238
9.8.7 改变数据类型的函数 239
9.9 综合实例――MySQL函数的使用 239
9.10 高手甜点 242
9.11 跟我学上机 243
第10章 查询数据 245
10.1 基本查询语句 246
10.2 单表查询 248
10.2.1 查询所有字段 248
10.2.2 查询指定字段 249
10.2.3 查询指定记录 250
10.2.4 带IN关键字的查询 252
10.2.5 带BETWEEN AND的范围
查询 254
10.2.6 带LIKE的字符匹配查询 255
10.2.7 查询空值 256
10.2.8 带AND的多条件查询 258
10.2.9 带OR的多条件查询 259
10.2.10 查询结果不重复 260
10.2.11 对查询结果排序 261
10.2.12 分组查询 264
10.2.13 使用LIMIT限制查询结果的
数量 269
10.3 使用集合函数查询 270
10.3.1 COUNT()函数 271
10.3.2 SUM()函数 272
10.3.3 AVG()函数 273
10.3.4 MAX()函数 274
10.3.5 MIN()函数 275
10.4 连接查询 276
10.4.1 内连接查询 276
10.4.2 外连接查询 279
10.4.3 复合条件连接查询 281
10.5 子查询 282
10.5.1 带ANY、SOME关键字的
子查询 282
10.5.2 带ALL关键字的子查询 283
10.5.3 带EXISTS关键字的子查询 283
10.5.4 带IN关键字的子查询 285
10.5.5 带比较运算符的子查询 286
10.6 合并查询结果 288
10.7 为表和字段取别名 290
10.7.1 为表取别名 290
10.7.2 为字段取别名 292
10.8 使用正则表达式查询 293
10.8.1 查询以特定字符或字符串开头
的记录 294
10.8.2 查询以特定字符或字符串结尾
的记录 295
10.8.3 替代字符串中的任意一个
字符 295
10.8.4 匹配多个字符 296
10.8.5 匹配指定字符串 297
10.8.6 匹配指定字符中的任意一个 298
10.8.7 匹配指定字符以外的字符 299
10.8.8 指定字符串连续出现的次数 299
10.9 综合实例――数据表查询操作 300
10.10 高手甜点 307
10.11 跟我学上机 308
第11章 存储过程和函数 309
11.1 创建存储过程和函数 310
11.1.1 创建存储过程 310
11.1.2 创建存储函数 312
11.1.3 变量的使用 313
11.1.4 定义条件和处理程序 314
11.1.5 光标的使用 317
11.1.6 流程控制的使用 318
11.2 调用存储过程和函数 322
11.2.1 调用存储过程 323
11.2.2 调用存储函数 323
11.3 查看存储过程和函数 324
11.3.1 查看存储过程和函数的状态 324
11.3.2 查看存储过程和函数的定义 325
11.3.3 查看存储过程和函数的信息 326
11.4 修改存储过程和函数 327
11.5 删除存储过程和函数 329
11.6 综合实例――综合应用

前沿

前 言
  开源MySQL数据库发展到今天已经具有了非常广泛的用户基础, 市场的结果已经证明MySQL具有性价比高、灵活、广为使用和良好支持的特点。通过本书的实训,读者可以很快地上手流行的工具,提高职业化能力,从而帮助解决公司需求问题。
  本书以学习“MySQL数据库”的最佳流程来分配章节,从最初的数据库安装和配置的准备阶段开始,然后讲解MySQL数据库的基本操作、SQL语句查询、数据库高级管理知识等。同时在最后的项目实战环节特意补充了Java操作MySQL数据库、PHP操作MySQL数据库、论坛管理系统数据库设计实战和新闻发布系统数据库设计实战,以便进一步提高大家的实战技能。

  
本书特色
* 零基础、入门级的讲解
  无论您是否从事计算机相关行业,无论您是否接触过MySQL数据库,都能从本书中找到最佳起点。
* 超多、实用、专业的范例和项目
  本书在编排上紧密结合学习MySQL数据库技术的先后过程,从MySQL数据库的基本操作开始,逐步带领读者深入学习各种应用技巧。本书侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。
* 随时检测自己的学习成果
  每章首页均提供了学习目标,以指导读者重点学习及学后检查。
  每章最后的“跟我学上机”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
* 细致入微、贴心提示
  本书在讲解过程中,使用了“注意”“提示”“技巧”等小栏目,使读者在学习过程中能更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
* 专业创作团队和技术支持
  本书由千谷网络科技实训中心编著和提供技术支持。
  读者可加入QQ群:221376441,在学习过程中遇到任何问题均可通过QQ提问,专家人员会在线答疑。
* 高手甜点
  本书中加入“高手甜点”的内容,主要是讲述项目实战中的经验,使读者能快速提升项目操作能力,成为一名数据库设计高手。
超值光盘
* 26小时全程同步教学录像
  涵盖本书所有知识点,详细讲解每个实例及项目的过程及技术关键点。读者可以轻松地掌握书中所有的MySQL数据库设计知识,而且从扩展的讲解部分可以得到更多的收获。
* 超多容量王牌资源大放送
  赠送大量王牌资源,包括MySQL案例源代码、教学幻灯片、本书精品教学视频、MySQL常用命令速查手册、数据库工程师职业规划、数据库工程师面试技巧、数据库工程师常见面试题、MySQL常见错误及解决方案、MySQL数据库经验及技巧大汇总等。
读者对象
* 没有任何MySQL基础的初学者。
* 有一定的MySQL基础,想精通MySQL的人员。
* 有一定的MySQL基础,没有项目经验的人员。
* 正在进行毕业设计的学生。
* 大专院校及培训学校的老师和学生。
创作团队
  本书由刘玉红策划,千谷网络科技实训中心高级讲师郭广新等编著,参加编写的人员还有胡同夫、付红、李园、王攀登、郭广新、侯永岗、蒲娟、刘海松、孙若淞、王月娇、包慧利、陈伟光、陈伟光、梁云亮和周浩浩。
  在编写过程中,我们尽所能地将最好的讲解呈现给读者,但也难免有疏漏和不妥之处,敬请不吝指正。若您在学习中遇到困难或疑问,或有何建议,可写信至信箱357975357@qq.com。
  
  
  编 者

免费在线读

第1章
初识MySQL

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

  学习目标(已掌握的在方框中打钩)
   了解数据库的基本概念
   了解表、数据类型和主键
   熟悉数据库的技术构成
   熟悉MySQL
   掌握常见的MySQL工具
  
  

1.1 关于数据库的基本概念
  数据库(Database,DB)是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。本节将介绍数据库中的一些基本概念,包括数据库的定义、数据表的定义和数据类型等。
1.1.1 数据库
  随着信息技术和市场的快速发展,数据库技术层出不穷;随着应用的拓展和深入,数据库的数量和规模越来越大。数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。
  数据处理技术的发展大致划分为人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库阶段。数据库的种类大概有层次式数据库、网络式数据库和关系式数据库三种,不同种类的数据库按不同的数据结构来联系和组织。
  对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异。其中一种比较普遍的观点认为,数据库是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。数据库是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:既可指保管数据的“仓库”,又可指数据管理的方法和技术。
  数据库具有如下特点:①实现数据共享,减少数据冗余;②采用特定的数据类型;③具有较高的数据独立性;④具有统一的数据控制功能。
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个主要的组成部分。
  (1) 数据库(Database):提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。
  (2) 数据库管理系统(Database Management System,DBMS):用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。
  (3) 数据库应用程序(Database Application):虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除数据库中的数据。
  数据库系统如图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标准,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
  ODBC(Open Database Connectivity,开放式数据库连接)技术为访问不同的SQL数据库提供了一个共同的接口。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统(DBMS)。
  基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、MySQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
2.JDBC
  JDBC(Java Database Connectivity,Java数据库连接)是Java应用程序连接数据库的标准方法,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。JDBC由一组用Java语言编写的类和接口组成。
3.ADO.NET
  ADO.NET是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互。
4.PDO
  PDO(PHP Data Object,PHP数据对象)为PHP访问数据库定义了一个轻量级的、一致性的接口,提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO是PHP 5新加入的一个重大功能。
  针对不同的程序语言,MySQL提供了不同的数据库访问连接驱动,读者可以在相关网站的下载页面(http://dev.mysql.com/downloads/)下载相关驱动。
1.3 MySQL简介
  MySQL是一个小型关系数据库管理系统,与其他大型数据库管理系统(如Oracle、DB2、SQL Server)等相比,MySQL的规模小、功能有限。但是由于MySQL的体积小、速度快、成本低,且提供的功能对稍微复杂的应用来说已经够用,因此使得MySQL成为世界上最受欢迎的开放源代码数据库。本节将介绍MySQL的特点。
1.3.1 客户机-服务器软件
  主从式架构(Client-Server Model)或客户端/服务器(Client/Server)结构简称C/S结构,它是一种网络架构,通常在该网络架构下,软件分为客户端(Client)和服务器(Server)两部分。
  服务器是整个应用系统资源的存储与管理中心,多个客户端则各自处理相应的功能,共同实现完整的应用。在客户/服务器结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回给用户,从而减少了网络数据传输量。
  用户使用应用程序时,首先启动客户端通过有关命令告知服务器进行连接以完成各种操作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。
  这种系统的特点就是,客户端和服务器程序不在同一台计算机上运行,它们归属于不同的计算机。
  主从式架构通过不同的途径应用于很多不同类型的应用程序,比如,现在人们最熟悉的在因特网(Internet)上使用的网页。例如,当顾客想要在当当网站上买书的时候,电脑和网页浏览器就被当作一个客户端,同时,组成当当网的电脑、数据库和应用程序就被当作服务器。当顾客的网页浏览器向当当网请求搜寻某种图书时,当当网服务器就从当当网的数据库中找出所有该类型的图书信息,结合成一个网页,再发送回顾客的浏览器。服务器端一般使用高性能的计算机,并配合使用不同类型的数据库,比如Oracle、Sybase、MySQL等;客户端需要安装专门的软件,比如浏览器。
1.3.2 MySQL的版本
  针对不同用户,MySQL分为两个不同的版本:
* MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持。
* MySQL Enterprise Server(企业版服务器):它能够以很高的性价比为企业提供数据仓库应用,支持满足ACID属性的事务处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话技术支持。
  

  MySQL Cluster主要用于架设集群服务器,需要在社区版或企业版的基础上使用。
  
  MySQL的命名机制由3个数字组成,例如,mysql-5.6.10。
  (1) 第1个数字(5)是主版本号,描述了文件格式,所有版本为5的发行版都有相同的文件格式。
  (2) 第2个数字(6)是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。
  (3) 第3个数字(10)是此发行系列中的版本号,随每次新分发版本递增。
  在MySQL的开发过程中,同时存在多个发布系列,每个发布处在成熟度的不同阶段。
  (1) MySQL 5.6是最新开发的稳定(GA)发布系列,是将执行新功能的系列,目前已经可以正常使用。
  (2) MySQL 5.5是比较稳定(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/)下载到相应的安装文件。
  
1.3.3 MySQL的优势
  MySQL的主要优势如下。
  (1) 速度:运行速度快。
  (2) 价格:MySQL对大多数个人用户来说是免费的。
  (3) 容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。
  (4) 可移植性:能够工作在众多不同的系统平台上,例如,Windows、Linux、Unix、Mac OS等。
  (5) 丰富的接口:提供了用于C、C 、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等语言的API。
  (6) 支持查询语言:MySQL可以利用标准的SQL语法和支持ODBC的应用程序。
  (7) 安全性和连接性:具有十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。并且由于MySQL是网络化的,因此可以在连接因特网的任何地方访问,从而提高了数据共享的效率。

1.3.4 MySQL 5.6的新功能
  和MySQL 5.5相比,MySQL 5.6的新功能主要包括以下几个方面。
  (1) 子查询优化:通过优化子查询,可以提高执行效率,主要表现在查询的结果集合、分类和返回的执行次数上。
  (2) 强化Optimizer Diagnostics(优化诊断)功能:运用EXPLAIN执行INSERT、UPDATE和DELETE,EXPLAIN以JSON格式输出,提供更精确的最佳化指标和绝佳的可读性。Optimizer Traces(优化追踪)功能还可以追踪最佳化决策过程。
  (3) 通过强化InnoDB存储引擎,提升效能处理量和应用软件的可用性:提升处理和只读量高达230%,InnoDB重构得以尽量减少传统线程、冲洗和净化互斥的冲突和瓶颈,在高负载的OLTP系统展现更优异的数据同步性,显著提升只读和交易工作负载的处理量。
  (4) 大幅提升可用性:数据库管理员运用在线数据定义语言作业,可执行新增索引和窗体变更功能,并同时更新应用程序。
  (5) 新增Index Condition Pushdown (ICP,索引条件下推)和Batch Key Access (BKA,批键访问)功能:提升特定查询量高达280倍。
  (6) InnoDB全文检索功能:开发人员可以在InnoDB窗体上建立全文索引功能,以呈现文字搜寻结果,加快搜寻单字和语句。
  (7) 自我修复复制丛集:新增的Global Transaction Identifiers and Utilities(全局事务识别与应用)可以简化自动侦测和复原功能。当数据库发生毁损时,数据库管理员无须介入,即可运用Crash-Safe Replication功能,自动将二进制记录和备份数据恢复至正确位置。Checksums可通过自动侦测和警示错误的功能,跨丛集保持数据的完整性。
  (8) 高效能复制丛集:通过Multi-Threaded Slaves(多线程从库),Binlog Group Commit(二进制日志文件成组提交)和Optimized Row-Based Replication(优化的基于行的复制)可以将复制能力提高5倍之多。用户向外扩充其跨商品系统的工作负载时,可以大幅提升复制的效能和效率。
  (9) 时

MySQL 数据库应用案例课堂 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:MySQL 数据库应用案例课堂