第1章 mysql入门与初步 联系客服

发布时间 : 星期五 文章第1章 mysql入门与初步更新完毕开始阅读0600af43336c1eb91a375d71

2、贮存在列下的数据必须具有相同数据类型。 3、每行是唯一的(没有完全相同的行)。 4、列没有顺序。 5、行没有顺序。

6、列有一个唯一性的名称。

除了表和它们的属性,关系模型有它自己特殊的操作。不需要深入研究关系型数学,只需说明这些操作可能包括列的子集、行的子集、表的连接以及其他数学集合操作(如联合)等就足够了。真正要知道的事情是这些操作把表当作输入,而将产生的表作为输出。

S Q L 是当前R D B M S 的A N S I 标准语言,它包含这些关系型操作。允许数据操作或数据处理的主要语句是S E L E C T 、I N S E RT 、U P D AT E 和D E L E T E 。因此,这些数据处理操作中任何一个都是一个事务。

允许数据定义或结构化处理的基本语句是C R E AT E 、A LT E R 和D R O P 。关系模型要求的最后一件事是两个基础的完整性原则。它们是实体完整性原则(e n t i t y integrity rule )和引用完整性原则(referential integrity rule )。首先,让我们看看两个定义:

1、主键(primary key )是能唯一标识行的一列或一组列的集合。有时,多个列或多组列可以被当作主键。

2、由多个列构成的主键被称为连接键(concatenated key )、组合键(compound key ),或者更常称为复合键(composite key )。

数据库设计者决定哪些列的组合能够最准确和有效地反映业务情形,这并不意味着其他数据未被存贮,只是那一组列被选作主键而已。

剩余有可能被选为主键的列被叫做候选键(candidate key )或替代键(alternate key )。一个外键(foreign key )是一个表中的一列或一组列,它们在其他表中作为主键而存在。一个表中的外键被认为是对另外一个表中主键的引用。实体完整性原则简洁地表明主键不能全部或部分地空缺或为空,引用完整性原则简洁地表明一个外键必须为空或者与它所引用的主键当前存在的值相一致。

一个R D B M S 就是一个建立在前面这些关系模型基础上的,一般能满足所提到的全部要求的D B M S 。但是,在7 0 年代末到8 0 年代初,R D B M S 开始销售的时候,S Q L 超越了本质为非关系型的系统,受到普遍欢迎,并被称作关系型。 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.2.3 与数据库系统通讯 结构化查询语言(Structured Query Language ,SQL)是当今主要的查询语言,它主要用于管理主流类型的D B M S —关系型D B M S (R D B M S )。所有与数据库相关的通信往来都将通过D B M S 完成,为了做这件事,你可以使用S Q L 或其他类似的东西。数据库系统管理员(D B A )使用查询语言来建立并维护数据库,用户使用查询语言来访问数据库并查看或更改数据。

1.2.4 MySQL的体系结构 因为 MySQL 采用的是客户机/服务器体系结构,所以你在使用 MySQL 时存取数据时,必须至少使用两个或者说两类程序:

1、一个位于存放您的数据的主机上的程序——数据库服务器。数据库服务器监听从网络上传过来的客户机的请求并根据这些请求访问数据库的内容,以便向客户机提供它们所要求的信息。

2、连接到数据库服务器的程序——客户机,这些程序是用户和服务器交互的工具,告诉服务器需要什么信息的查询。

MySQL 分发包包括服务器和几个客户机程序。可根据要你要达到的目的来选择使用客户机。最常用的客户机程序为 mysql,这是一个交互式的客户机程序,它能发布查询并看到结果。其他的客户机程序有: mysqldump 和 mysqlimport,分别导出表的内容到某个文件或将文件的内容导入某个表;mysqladmin 用来查看服务器的状态并完成管理任务,如告诉服务器关闭、重起服务器、刷新缓存等。如果具有现有的客户程序不满足你的需要,那么MySQL还提供了一个客户机编程库,可以编写自己的程序。客户机编程库可直接从 C 程序中调用,如果希望使用 C 语言以外的其他语言,还有几种其他的接口可用。

MySQL 的客户机/服务器体系结构具有如下优点:

1、服务器提供并发控制,使两个用户不能同时修改相同的记录。所有客户机的请求

都通过服务器处理,服务器分类辨别谁准备做什么,何时做。如果多个客户机希望同时访问相同的表,它们不必互相裁决和协商,只要发送自己的请求给服务器并让它仔细确定完成这些请求的顺序即可。

2、不必在数据库所在的机器上注册。MySQL 可以非常出色的在因特网上工作,因此您可以在任何位臵运行一个客户机程序,只要此客户机程序可以连接到网络上的服务器。

当然不是任何人都可以通过网络访问你的MySQL服务器。MySQL 含有一个灵活而又有成效的安全系统,只允许那些有权限访问数据的人访问。而且可以保证用户只能够做允许他们做的事。

1.2.5总结 本节简单介绍了一下关系数据库系统的基础知识,真正要详尽描述数据库系统的理论,完全可以写成几本书。读完本节之后,笔者希望读者能够了解什么是关系模型、SQL语言以及MySQL的系统结构,这不仅对继续阅读本书有利,也可以在读者获取相关知识时,起到一个启发的作用。

1.3 MySQL使用的SQL语言

MySQL使用结构化查询语言(Structured Query Language,SQL)与服务器通讯。MySQL系统使用的SQL语言基本上符合SQL92的标准,但是其对SQL92标准既有扩展,又有未实现的地方。

1.3.1 表、列和数据类型 表是数据在一个MySQL数据库中的存储机制,如表1-1所示,它包含一组固定的列。表中的列描述该表所跟踪的实体的属性,每个列都有一个名字及各自的特性。

列由两部分组成:数据类型(datatype)和长度(length)。对于使用NUMERIC 数据类型的列,可以指定列的小数位及精度特性,精度决定数值的有效位数,小数位表示数值的小数点位臵。说明为NUMERIC(9,2)的列表示该列总共有9位数,其中2位数在小数点右边。缺省的数值精度为10位数。

表1-1 一个数据表techers

Id 1 2 3 4 … Name Tom 8 Marry 7 Mike 1 Jerry … 3245012 … M … 4576902M 2153277F Tel 6276321Sex M