MySQL第1章 联系客服

发布时间 : 星期三 文章MySQL第1章更新完毕开始阅读8300fd0116fc700abb68fc3b

第一章 MySQL数据库基础

韩福明编写 2010-8-9

1.MySQL是什么

MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

1.1 MySQL简介

MySQL的进展是非常快的,越来越多的领域里都可以见到MySQL的身影,在学习如何使用这个强大的系统之前,我们首先要了解MySQL的历史、功能、特点,你会对学习MySQL更具信心。

在正式开始之前,我们现了解一下它的读音。MySQL的官方发音是“My Ess Que Ell”(不是 MY-SEQUEL )。 1.1.1 MySQL是什么? MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。

MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。

MySQL 最早起始于 1979 年,开始是 Michael “Monty” Widenius 为瑞典的 TcX 公司创建的 UNIREG 数据库工具。1994 年,TcX 开始寻找一个用来开发 Web 应用程序的 SQL 服务器。他们测试了一些商业服务器,但是发现所有服务器对于 TcX 的大型表来说都太慢。他们也试了 mSQL,但它缺乏 TcX 需要的某些功能。因此,Monty 开始开发一种新的服务器。其编程接口明确地设计为类似 mSQL 的编程接口,因为 mSQL 可得到几个免费的工具,所以利用与 mSQL 类似的接口,可以将这些相同的工具用于MySQL 从而大大减少了开发接口的工作。

1995 年,Detron HB公司的 David Axmark 努力争取 TcX公司在因特网上发布 MySQL。David 还做了文档资料方面的工作和使 MySQL 与 GNU 的配置实用程序一起建造的工作。MySQL 3.11.1 在 1996 年以用于 Linux 和 Solaris 系统的二进制分发形式发布。今天,MySQL 正工作在许多平台上,并且二进制和源代码的形式都可以得到。

MySQL 并不是一个开放源代码的产品,因为在某些条件下使用它需要许可证。但是,MySQL 很愿意在开放源代码的团体内得以普及,因为“认证”这个术语并不是非常有约束力

的(除非通过出售 MySQL 或出售需要它的服务来挣钱,否则,大体上说 MySQL 一般是免费的)。

MySQL 的普及并不限于开放源代码团体内。虽然它在个人计算机上运行(确实,MySQL 的开发一般在不昂贵的 Linux 系统上进行),但它是可移植的,并且运行在商用操作系统(如 Solaris、Irix 和 Windows)和一直到企业服务器的各种硬件上。此外,它的性能也足以和任何其他系统相匹敌,而且它还可以处理具有数百万个记录的大型数据库。 1.1.2 我需要MySQL吗? 如果您正在寻找一种免费的或不昂贵的数据库管理系统,可以有几个选择,如,MySQL、mSQL、Postgres(一种免费的但不支持来自商业供应商引擎的系统)等。在将 MySQL 与其他数据库系统进行比较时,所要考虑的最重要的因素是性能、支持、特性(与 SQL 的一致性、扩展等等)、认证条件和约束条件、价格等。相比之下,MySQL 具有许多吸引人之处:

1、速度。MySQL 运行速度很快。开发者声称 MySQL 可能是目前能得到的最快的数据库。可访问 http://www.mysql.com/benchmark.html (MySQL Web 站点上的性能比较页),调查一下这个性能。

2、容易使用。MySQL 是一个高性能且相对简单的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低。

3、价格。MySQL 对多数个人用户来说是免费的。详细的信息请参阅本前言后面的 “MySQL是否免费”一节。

4、支持查询语言。MySQL 可以利用 SQL(结构化查询语言),SQL 是一种所有现代数据库系统都选用的语言。也可以利用支持 ODBC(开放式数据库连接)的应用程序,ODBC 是 Microsoft 开发的一种数据库通信协议。

5、性能。许多客户机可同时连接到服务器。多个客户机可同时使用多个数据库。可利用几个输入查询并查看结果的界面来交互式地访问 MySQL。这些界面为:命令行客户机程序、Web 浏览器或 X Window System 客户机程序。此外,还有由各种语言(如 C、Perl、Java、PHP 和 Python)编写的界面。因此,可以选择使用已编好的客户机程序或编写自己的客户机应用程序。

6、连接性和安全性。MySQL 是完全网络化的,其数据库可在因特网上的任何地方访问,因此,可以和任何地方的任何人共享数据库。而且 MySQL 还能进行访问控制,可以控制哪些人不能看到您的数据。

7、可移植性。MySQL 可运行在各种版本的 UNIX 以及其他非 UNIX 的系统(如 Windows 和 OS/2)上。MySQL 可运行在从家用 PC 到高级的服务器上。

如果,你对上面的特性非常在意,尤其是价格和速度、性能方面,那么我认为MySQL十分适合你。

1.1.3 我需要付钱吗? 基本上,我们许可证政策如下:

对于一般的内部使用,MySQL通常是免费的。如果你不想,就不必付钱给我们。 以下情景需要一个许可证,如果:

你直接销售MySQL服务器或作为其他产品或服务的一部分; 你在某些客户那里为了安装和维护一个 MySQL 服务器而收费;

你在不可再分发的分发中包括 MySQL并且你对该分发的某些部分收费;

如果你需要一个 MySQL 许可证,最容易的付款方法是使用在 https://www.mysql.com/license.htmy网站的 Tcx 的安全服务器上的许可证表格。 1.1.4 如何得到MySQL? 官方下载:http://dev.mysql.com/downloads/ 1.1.5总结 本节简单介绍的MySQL的方方面面,相信读者对MySQL已经有了一定的了解了。看看你是不是了解了它:

? MySQL是一个关系数据库系统,支持SQL查询语言。 ? MySQL可以是免费的,你不需要为它付费。 ? MySQL系统的速度非常快,同样它的性能也是十分优良的。 ? MySQL是一个管理简捷的数据库,它没有庞大而臃肿的可视化管理工具。

1.2 关系数据库管理系统

在过去的许多年里,有许多关于“数据库”这个名词的定义。数据库是一个服务于一个核心目标的数据的有组织的集合。数据库中的数据是有组织的,从某种意义上说,数据库中存储的数据采用一种不变的方式被存储、格式化、存取以及显示。因为数据库不含有无关的或冗余的数据,它可以适用于一个核心目标。一本电话簿就是一个很好的数据库例子,它包含有关的数据(名字),让人们能够查找电话号码;它不包含无关的数据,如某人的电话机的颜色;它只贮存那些与它的目标相关的信息。最常见的,一个数据库的目标是商务应用,但是也可能贮存科学、军事或其他数据,这些数据通常不能当作商务数据看待。因此,有商业数据库、科学数据库、军事数据库以及其他的数据库等等。另外,数据不仅能根据它的应用分类,还能根据它的格式分类,现代数据库包括多种类型的数据。例如,现在数据库贮存图像、图表、声音、视频或包括两种或多种类型的复合文档,已经是很普通的事了。 1.2.1 关系数据库系统 所谓RDBMS,即关系数据库管理系统,

为了进一步了解一个RDBMS 是由什么构成的,你必须先了解关系模型。下列情况出现在一个关系模型中:

? 数据的基础项是关系。 ? 在这些表上的操作只产生关系(关系型闭合)。

什么是关系?这是一个描述两个集合的元素如何相互联系或如何一一对应的数学概念。因此,关系模型是建立在数学基础上的。然而,对你来说,关系只是一个带有一些特殊属性的表,一个关系模型把数据组织到表中,而且仅在表中。客户、数据库设计者、数据库系统管理员和用户都以同样的方式—即从表中—查看数据。那么,表就是关系模型的近义词。

一个关系型表有一组命名的属性(a t t r i b u t e )或列,以及一组元组(t u p l e )或行。有时列被称为域,行被称为记录,列和行的交集通常被叫做单元。列标示位置,有作用域或数据类型,例如字符或整数。行自己就是数据。

1.2.2 数据库系统的发展 1969年美国的IBM公司开发了第一个数据库系统IMS。这是一个层次数据库系统,在数据库系统发展史上有着重要的地位。同年,美国的数据系统语言委员会(CODASYL)下属的数据库任务组提出了著名的DBTG报告,并在1970年提出了该报告的修订版。这份报告定义了数据库操纵语言、模式定义语言和子模式定义语言的概念。数据库操纵语言用于编写操纵概念视图的应用程序,模式定义语言用来编写概念视图和内部视图相结合的模式程序。在七十年代,开发了许多遵循DBTG报告的网状数据库系统,如:IDMS, IDS, DMSIIOO等。七十年代初,E.F.Codd提出了关系数据模型的概念,提出了关系代数和关系演算。在整个七十年代,关系数据库从理论到实践都取得了辉煌成果。在理论上,确立了完整的关系理论、数据

依赖理论以及关系数据库的设计理论等等;在实践上,开发了许多著名的关系数据库系统,如:system R, INGRES, ORACLE等。1986年美国国家标准协会(ANSI)通过了关系数据库查询语言SQL的文本标准。进入八十年代以后,随着计算机硬件技术的提,使得计算机应用不断深入,产生了许多新的应用领域,如:计算机辅助设计、计算机辅助教学、计算机辅助制造、计算机辅助工程、计算机集成制造、办公自动化、地理信息处理、智能信息处理等等。这些新的应用领域对数据库系统提出了新要求。由于没能设计出一个统一的数据模型来表示这些新型数据及其相互联系,所以出现了百家争鸣的局面,产生了演绎数据库(逻辑数据库,知识库)、面向对象数据库、工程数据库、时态数据库、地理数据库、模糊数据库、积极数据库、?等新型数据库的研究。到八十年代后期和九十年代初期,出现了面向对象数据库系统,如:GemStone, VBASE, ORION, Iris等。到目前为止,真正的新一代数据库系统还没有出现。

1.3 MySQL安装

双击该图标(先保证你的电脑上安装了WinRAR或者WinZIP等解压缩工具,压缩工具也可以在上面的页面中下载到),打开rar解压窗口,如图2

图2

你可以把文件解压到硬盘上,然后再安装。也可以直接在窗口中,双击Setup.exe文件,开始mysql5.0的安装。先是等待,它自己解压文件,直到出现下面的窗口,图3