1.3.2 查询语言术语
MySQL使用一种称为SQL(Structured Query Language)的语言。SQL 是当今的标准数据库语言,所有主要的数据库系统都使用它。SQL 具有多种不同的语句,所有语句都是以一种不枯燥并有用的方式设计来与数据库进行交互的。正如其他语言一样, SQL 在初次接触时可能会令人感到有些古怪。例如,为了创建一个表,需要告诉MySQL表结构应该是什么样的。我们可能会根据图表来想像一个表,但MySQL不会,因此,在创建表时需要告诉MySQL一些东西,如下所示:
如果您不熟悉SQL 语句,可能会对这样的语句留下深刻的印象,但您不必以程序员的身份来学习怎样有效地使用SQL。如果逐步熟悉了SQL 语言之后,就会以一种不同的眼光来看待CREATE TABLE 语句,会认为它是一个有助于描述自己信息的伙伴,而不是一种奇怪的胡言乱语。
1.3.3 MySQL的体系结构术语
在您使用MySQL时,实际正使用以下两个程序,因为MySQL采用的是客户机/服务器体系结构:
■ 数据库服务器是一个位于存放您的数据的机器上的程序。它监听从网络上传过来的客户机的请求并根据这些请求访问数据库的内容,以便向客户机提供它们所要求的信息。
■ 客户机是连接到数据库服务器的程序,这些程序告诉服务器需要什么信息的查询。MySQL分发包包括服务器和几个客户机程序。可根据要达到的目的来使用客户机。最常用的客户机程序为mysql,这是一个交互式的客户机程序,它能发布查询并看到结果。其他
的客户机程序有: mysqldump 和mysqlimport,分别转储表的内容到某个文件或将文件的内容导入某个表; mysqladmin 用来查看服务器的状态并完成管理任务,如告诉服务器关闭等。如果具有标准的客户机不适合的应用,那么MySQL还提供了一个客户机编程库,可以编写自己的程序。客户机编程库可直接从C 程序中调用,如果希望使用C 语言以外的其他语言,还有几种其他的接口可用。
MySQL的客户机/服务器体系结构具有如下好处:
■ 服务器提供并发控制,使两个用户不能同时修改相同的记录。所有客户机的请求都通过服务器处理,服务器分类辨别谁准备做什么,何时做。如果多个客户机希望同时访问相同的表,它们不必互相裁决和协商,只要发送自己的请求给服务器并让它仔细确定完成这些请求的顺序即可。
■ 不必在数据库所在的机器上注册。MySQL知道怎样在因特网上工作,因此您可以在任何位置运行一个客户机程序,此客户机程序可以连接到网络上的服务器。距离不是问题,可从世界上的任何地方访问服务器。如果服务器位于澳大利亚的某台机器上,那么当您带着自己的便携式电脑到冰岛去旅行时,仍然可以访问自己的数据库。
这是否意味着任何人只要连接到因特网就可以访问您的数据?答案是否定的。MySQL含有一个灵活的安全系统,只允许那些有权限访问数据的人访问。可以保证那些人只能够做允许他们做的事。或许记账办公室的Sally 能够读取和更新(修改)记录,而服务台的Phil 只能查看记录。可以设置使用人员的权限。如果希望运行一个自含系统(独立系统),只要设置访问权限使客户机只能从服务器运行的主机上进行连接即可。