数据库从最初的数据文件的简单集合发展到今天的大型数据库管理系统已经成为我们日常生活中不可缺少的组成部分。如果不借助数据库的帮助,许多简单的工作将变得冗长乏味,甚至难以实现。尤其是象银行、院校和图书馆这样的大型组织更加依靠数据库系统实现其正常的运作。再看互联网上,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库。
目前,市面上的数据库产品多种多样,从大型企业的解决方案到中小企业或个人用户的小型应用系统,可以满足用户的多样化需求。这里,我们所要向大家介绍的MySQL数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用(推荐下载站点
http://www.mysql.com)。
总体来说,MySQL数据库具有以下主要特点:
1. 同时访问数据库的用户数量不受限制;
2. 可以保存超过50,000,000条记录;
3. 是目前市场上现有产品中运行速度最快的数据库系统;
4. 用户权限设置简单、有效。
如今,包括Siemens和Silicon Graphics这样的国际知名公司也开始把MySQL作为其数据库管理系统,这就更加证明了MySQL数据库的优越性能和广阔的市场发展前景。
本文将重点向读者介绍MySQL数据库的一些基本操作,包括如何与数据库建立连接,如果设置数据库,以及如何执行基本的命令等。希望能够对读者学习和掌握MySQL数据库有所助益。
入门
一般来说,我们访问MySQL数据库时,首先需要使用telnet远程登录安装数据库系统的
服务器,然后再进入MySQL数据库。MySQL数据库的连接命令如下:
mysql -h hostname -u username -p[password]
或者:
mysql -h hostname -u username --password=password
其中,hostname为装有MySQL数据库的
服务器名称,username和password分别是用户的登录名称和口令。
如果MySQL数据库安装和配置正确的话,用户在输入上述命令之后会得到如下系统反馈信息:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 49 to server version: 3.2 3-beta-log
Type help for help.
mysql$#@62;
这样,用户就成功进入了MySQL数据库系统,可以在mysql$#@62;命令提示符之后输入各种命令。下面,我们列出一些MySQL数据库的主要管理命令供读者参考,用户也可以通过在命令符之后输入help,\h或?得到以下命令的简单说明。
mysql$#@62; help
help (\h) 显示命令帮助
? (\h) 作用同上
clear (\c) 清除屏幕内容
connect (\r) 重新连接
服务器,可选参数为 db(数据库)和 host(
服务器)
exit (\) 退出mysql数据库,作用与quit命令相同
go (\g) 将命令传送至mysql数据库
print (\p) 打印当前命令
quit (\q) 退出mysql数据库
status (\s) 显示
服务器当前信息
use (\u) 打开数据库,以数据库名称作为命令参数
上述命令主要用于MySQL数据库的系统管理,如果用户需要对某个具体的数据库进行操作,可以使用use命令进入该数据库,格式如下:
mysql$#@62; use dbname;
这里需要提醒读者注意的一点就是MySQL数据库要求使用者在所有命令的结尾处使用“;”作为命令结束符。
数据类型和数据表
从本质上说,数据库就是一种不断增长的复杂的数据组织结构。在MySQL数据库中,用于保存数据记录的结构被称为数据表。而每一条数据记录则是由更小的数据对象,即数据类型组成。因此,总体来说,一个或多个数据类型组成一条数据记录,一条或多条数据记录组成一个数据表,一个或多个数据表组成一个数据库。我们可以把上述结构理解为如下形式:
Database $#@60; Table $#@60; Record $#@60; Datatype
数据类型分为不同的格式和大小,可以方便数据库的设计人员创建最理想的数据结构。能否正确的选择恰当的数据类型对最终数据库的性能具有重要的影响,因此,我们有必要首先对数据类型的有关概念进行较为详细的介绍。
MySQL 数据类型
MySQL 数据库提供了多种数据类型,其中较为常用的几种如下:
CHAR (M)
CHAR数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中M代表字符串的长度。
举例如下:
car_model CHAR(10);
VARCHAR (M)
VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。VARCHAR数据类型所支持的最大长度也是255个字符。
这里需要提醒读者注意的一点是,虽然VARCHAR使用起来较为灵活,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡。
举例如下:
car_model VARCHAR(10);
INT (M) [Unsigned]
INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。举例如下:
light_years INT;
按照上述数据类型的设置,-24567为有效数据,而3000000000则因为超出了有效数据范围成为无效数据。
再例如:
light_years INT unsigned;
这时,3000000000成为有效数据,而-24567则成为无效数据。
FLOAT [(M,D)]
FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
举例如下:
rainfall FLOAT (4,2);
按照上述数据类型的设置,42.35为有效数据,而324.45和3.542则因为超过数据长度限制或者小数点右边位数大于规定值2成为无效数据。
DATE
DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。MySQL提供了许多功能强大的日期格式化和操作命令,本文无法在此一一进行介绍,感兴趣的读者可以参看MySQL的技术文档。
DATE数据类型举例如下:
the_date DATE;
TEXT / BLOB
TEXT和BLOB数据类型可以用来保存255 到65535个字符,如果用户需要把大段文本保存到数据库内的话,可以选用TEXT或BLOB数据类型。TEXT和BLOB这两种数据类型基本相同,唯一的区别在于TEXT不区分大小写,而BLOB对字符的大小写敏感。
SET
SET数据类型是多个数据值的组合,任何部分或全部数据值都是该数据类型的有效数据。SET数据类型最大可以包含64个指定数据值。
举例如下:
transport SET (truck, wagon) NOT NULL;
根据上述数据类型的设置,truck、wagon、以及truck,wagon都可以成为transport的有效值。