2.1 什么是MySQL

我们在前一章中介绍了数据库和SQL。正如所述,数据的所有存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即它是一种数据库软件。

MySQL已经存在很久了,它在世界范围内得到了广泛的安装和使用。为什么有那么多的公司和开发人员使用MySQL?以下列出其原因。

  • 成本——MySQL是开放源代码的,一般可以免费使用(甚至可以免费修改)。

  • 性能——MySQL执行很快(非常快)。

  • 可信赖——某些非常重要和声望很高的公司、站点使用MySQL,这些公司和站点都用MySQL来处理自己的重要数据。

  • 简单——MySQL很容易安装和使用。

事实上,MySQL受到的唯一真正的批评是它并不总是支持其他DBMS提供的功能和特性。然而,这一点也正在逐步得到改善,MySQL的各个新版本正不断增加新特性、新功能。

2.1.1 客户机—服务器软件

DBMS可分为两类:一类为基于共享文件系统的DBMS,另一类为基于客户机—服务器的DBMS。前者(包括诸如Microsoft Access和File Maker)用于桌面用途,通常不用于高端或更关键的应用。

MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机—服务器的数据库。客户机—服务器应用分为两个不同的部分。服务器部分是负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务器的计算机上。

与数据文件打交道的只有服务器软件。关于数据、数据添加、删除和数据更新的所有请求都由服务器软件完成。这些请求或更改来自运行客户机软件的计算机。客户机是与用户打交道的软件。例如,如果你请求一个按字母顺序列出的产品表,则客户机软件通过网络提交该请求给服务器软件。服务器软件处理这个请求,根据需要过滤、丢弃和排序数据;然后把结果送回到你的客户机软件。

有多少计算机? 客户机和服务器软件可能安装在两台计算机或一台计算机上。不管它们在不在相同的计算机上,为进行所有数据库交互,客户机软件都要与服务器软件进行通信。

所有这些活动对用户都是透明的。数据存储在别的地方,或者数据库服务器为你完成这个处理这一事实是隐藏的。你不需要直接访问数据文件。事实上,多数网络的建立使用户不具有对数据的访问权,甚至不具有对存储数据的驱动器的访问权。

这样的意义何在?因为为了使用MySQL,你需要访问运行MySQL服务器软件的计算机和发布命令到MySQL的客户机软件的计算机。

  • 服务器软件为MySQL DBMS。你可以在本地安装的副本上运行,也可以连接到运行在你具有访问权的远程服务器上的一个副本。

  • 客户机可以是MySQL提供的工具、脚本语言(如Perl)、Web应用开发语言(如ASP、ColdFusion、JSP和PHP)、程序设计语言(如C、C++、Java)等。

2.1.2 MySQL版本

客户机工具稍后介绍。我们先简要介绍DBMS版本。

MySQL的当前版本为版本5①(虽然许多公司正在使用MySQL 3和4)。下面是最近版本中引入的主要更改。

①目前最新的稳定版本为5.1。——编者注

  • 4——InnoDB引擎,增加事务处理(第26章)、并(第17章)、改进全文本搜索(第18章)等的支持。

  • 4.1——对函数库、子查询(第14章)、集成帮助等的重要增加。

  • 5——存储过程(第23章)、触发器(第25章)、游标(第24章)、视图(第22章)等。

版本4.1和版本5对MySQL增加了重要的功能,本书中涵盖了这些功能的大多数。

使用4.1或更高版本 MySQL 4.1对MySQL函数库引入了重要更改,本书是为使用此版本或更高版本而撰写的。多数内容实际上也适用于MySQL 3和4,不过许多例子在这两个版本中不工作。


版本要求说明 如果某章针对具体某个MySQL版本,则将在该章开始处明确说明。

目录

  • 版权声明
  • 前言
  • 致谢
  • 第1章 了解SQL
  • 第2章 MySQL简介
  • 2.1 什么是MySQL
  • 2.2 MySQL工具
  • 2.3 小结
  • 第3章 使用MySQL
  • 第4章 检索数据
  • 第5章 排序检索数据
  • 第6章 过滤数据
  • 第7章 数据过滤
  • 第8章 用通配符进行过滤
  • 第9章 用正则表达式进行搜索
  • 第10章 创建计算字段
  • 第11章 使用数据处理函数
  • 第12章 汇总数据
  • 第13章 分组数据
  • 第14章 使用子查询
  • 第15章 联结表
  • 第16章 创建高级联结
  • 第17章 组合查询
  • 第18章 全文本搜索
  • 第19章 插入数据
  • 第20章 更新和删除数据
  • 第21章 创建和操纵表
  • 第22章 使用视图
  • 第23章 使用存储过程
  • 第24章 使用游标
  • 第25章 使用触发器
  • 第26章 管理事务处理
  • 第27章 全球化和本地化
  • 第28章 安全管理
  • 第29章 数据库维护
  • 第30章 改善性能
  • 附录A MySQL入门
  • 附录B 样例表
  • 附录C MySQL语句的语法
  • 附录D MySQL数据类型
  • 附录E MySQL保留字
  • 索引