MySQLWord文档格式.docx
《MySQLWord文档格式.docx》由会员分享,可在线阅读,更多相关《MySQLWord文档格式.docx(48页珍藏版)》请在冰豆网上搜索。
WelcometotheMySQLmonitor.Commandsendwith;
or\g.
YourMySQLconnectionidis49toserverversion:
3.23-beta-log
Typehelpforhelp.
mysql$#@62;
这样,用户就成功进入了MySQL数据库系统,可以在mysql$#@62;
命令提示符之后输入各种命令。
下面,我们列出一些MySQL数据库的主要管理命令供读者参考,用户也可以通过在命令符之后输入help,\h或?
得到以下命令的简单说明。
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命令进入该数据库,格式如下:
usedbname;
这里需要提醒读者注意的一点就是MySQL数据库要求使用者在所有命令的结尾处使用“;
”作为命令结束符。
数据类型和数据表
从本质上说,数据库就是一种不断增长的复杂的数据组织结构。
在MySQL数据库中,用于保存数据记录的结构被称为数据表。
而每一条数据记录则是由更小的数据对象,即数据类型组成。
因此,总体来说,一个或多个数据类型组成一条数据记录,一条或多条数据记录组成一个数据表,一个或多个数据表组成一个数据库。
我们可以把上述结构理解为如下形式:
Database$#@60;
Table$#@60;
Record$#@60;
Datatype
数据类型分为不同的格式和大小,可以方便数据库的设计人员创建最理想的数据结构。
能否正确的选择恰当的数据类型对最终数据库的性能具有重要的影响,因此,我们有必要首先对数据类型的有关概念进行较为详细的介绍。
MySQL数据类型
MySQL数据库提供了多种数据类型,其中较为常用的几种如下:
CHAR(M)
CHAR数据类型用于表示固定长度的字符串,可以包含最多达255个字符。
其中M代表字符串的长度。
举例如下:
car_modelCHAR(10);
VARCHAR(M)
VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。
其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。
因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。
VARCHAR数据类型所支持的最大长度也是255个字符。
这里需要提醒读者注意的一点是,虽然VARCHAR使用起来较为灵活,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。
因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡。
car_modelVARCHAR(10);
INT(M)[Unsigned]
INT数据类型用于保存从-2147483647到2147483648范围之内的任意整数数据。
如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。
light_yearsINT;
按照上述数据类型的设置,-24567为有效数据,而3000000000则因为超出了有效数据范围成为无效数据。
再例如:
light_yearsINTunsigned;
这时,3000000000成为有效数据,而-24567则成为无效数据。
FLOAT[(M,D)]
FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。
其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
rainfallFLOAT(4,2);
按照上述数据类型的设置,42.35为有效数据,而324.45和3.542则因为超过数据长度限制或者小数点右边位数大于规定值2成为无效数据。
DATE
DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。
MySQL提供了许多功能强大的日期格式化和操作命令,本文无法在此一一进行介绍,感兴趣的读者可以参看MySQL的技术文档。
DATE数据类型举例如下:
the_dateDATE;
TEXT/BLOB
TEXT和BLOB数据类型可以用来保存255到65535个字符,如果用户需要把大段文本保存到数据库内的话,可以选用TEXT或BLOB数据类型。
TEXT和BLOB这两种数据类型基本相同,唯一的区别在于TEXT不区分大小写,而BLOB对字符的大小写敏感。
SET
SET数据类型是多个数据值的组合,任何部分或全部数据值都是该数据类型的有效数据。
SET数据类型最大可以包含64个指定数据值。
transportSET("
truck"
"
wagon"
)NOTNULL;
根据上述数据类型的设置,truck、wagon、以及truck,wagon都可以成为transport的有效值。
ENUM
ENUM数据类型和SET基本相同,唯一的区别在于ENUM只允许选择一个有效数据值。
例如:
transportENUM("
根据上述设置,truck或wagon将成为transport的有效数据值。
以上,我们只是对用户使用MySQL数据库的过程中经常用到的数据类型进行了简单介绍,有兴趣的读者,可以参看MySQL技术文档的详细说明。
数据记录
一组经过声明的数据类型就可以组成一条记录。
记录小到可以只包含一个数据变量,大到可以满足用户的各种复杂需求。
多条记录组合在一起就构成了数据表的基本结构。
数据表
在我们执行各种数据库命令之前,首先需要创建用来保存信息的数据表。
我们可以通过以下方式在MySQL数据库中创建新的数据表:
CREATETABLEtest(
$#@62;
nameVARCHAR(15),
emailVARCHAR(25),
phone_numberINT,
IDINTNOTNULLAUTO_INCREMENT,
PRIMARYKEY(ID));
系统反馈信息为:
QueryOK,0rowsaffected(0.10sec)
这样,我们就在数据库中创建了一个新的数据表。
注意,同一个数据库中不能存在两个名称相同的数据表。
这里,我们使用CREATETABLE命令创建的test数据表中包含name,email,phone_number和ID四个字段。
MySQL数据库允许字段名中包含字符或数字,最大长度可以达到64个字符。
下面,我们来看一看创建数据表时所用到的几个主要的参数选项。
PrimaryKey
具有PrimaryKey限制条件的字段用于区分同一个数据表中的不同记录。
因为同一个数据表中不会存在两个具有相同值的PrimaryKey字段,所以对于那些需要严格区分不同记录的数据表来说,PrimaryKey具有相当重要的作用。
Auto_Increment
具有Auto_Increment限制条件的字段值从1开始,每增加一条新记录,值就会相应地增加1。
一般来说,我们可以把Auto_Increment字段作为数据表中每一条记录的标识字段。
NOTNULL
NOTNULL限制条件规定用户不得在该字段中插入空值。
其它数据表命令
除了创建新的数据表之外,MySQL数据库还提供了其它许多非常实用的以数据表作为操作对象的命令。
显示数据表命令
showtables;
该命令将会列出当前数据库下的所有数据表。
显示字段命令
showcolumnsfromtablename;
该命令将会返回指定数据表的所有字段和字段相关信息。
数据操作
对MySQL数据库中数据的操作可以划分为四种不同的类型,分别是添加、删除、修改和查询,我们将会在本节中对此进行介绍。
但是,首先我们需要强调的一点就是MySQL数据库所采用的SQL语言同其它绝大多数计算机编程语言一样,对命令的语法格式有严格的规定。
任何语法格式上的错误,例如不正确的使用括号、逗号或分号等都可能导致命令执行过程中的错误。
因此,建议用户在学习时一定要多留心语法格式的使用。
添加记录
用户可以使用INSERT命令向数据库中添加新的记录。
INSERTINTOtestVALUES
(John,carrots@,
5554321,NULL);
上述命令正确执行后会返回以下信息:
QueryOK,1rowaffected(0.02sec)
对上述命令有几点我们需要说明。
首先,所有的字符类型数据都必须使用单引号括起来。
其次,NULL关键字与AUTO_INCREMENT限制条件相结合可以为字段自动赋值。
最后,也是最重要的一点就是新记录的字段值必须与数据表中的原字段相对应,如果原数据表中有4个字段,而用户所添加的记录包含3个或5个字段的话都会导致错误出现。
MySQL数据库的一个非常显著的优势就是可以对整数、字符串和日期数据进行自动转换。
因此,用户在添加新记录时就不必担心因为数据类型不相符而出现错误。
查询数据
如果我们无法从数据库中查找和读取数据的话,数据库就丧失了其存在和使用的价值。
在MySql数据库中,用户可以使用SELECT命令进行数据的查询。
SELECT*FROMtest
WHERE(name="
John"
);
上述命令会返回如下结果:
name
email
phone
ID
John
carrots@
5554321
1
删除数据
用户除了可以向数据表中添加新的记录之外,还可以删除数据表中的已有记录。
删除记录可以使用DELETE命令。
DELETEFROMtest
"
该命令将会删除test数据表中name字段的值为John的记录。
同样,
WHERE(phone_number=5554321);
将会从数据表中删除phone_number字段值为5554321的记录。
修改数据
MySQL数据库还支持用户对已经输入到数据表中的数据进行修改。
修改记录可以使用UPDATE命令。
UPDATEtestSETname=Mary
WHEREname="
;
上述命令的执行结果如下:
Mary
到此为止,我们对MySQL数据库数据操作的核心概念,即数据的添加、删除、修改和查询进行了简单的介绍。
PHP/MySQL三日通-第一天
(一)
2000-04-2300:
GraemeMerr·
转载晏子工作室
本文介绍堪称Web数据库黄金组合的PHP/MySQL如何构筑一个网络数据库应用的方法,PHP是一个类似微软ASP的服务器端的嵌入式超文本处理语言,是建立动态网站的强大工具。
而MySQL是一个轻型SQL数据库服务器,可运行在多种平台上,包括WindowsNT和Linux,它还有一个GPL版本,MySQL被认为是建立数据库驱动的动态网站的最佳产品。
PHP、MySQL和Apache是Linux平台网站的最佳拍档。
该教程是一个3日课程,从安装到应用都有详细描述。
一、PHP/MySQL简介
您应该听说过开放源代码软件(OSS),除非最近六到八个月来您一直住在火星上。
这场运动有着巨大的冲击力,已引起一些大公司的注意。
象Oralce、Informix,还有多家公司都开始把他们的主力数据库产品移植到OSS的产物之一-Linux操作系统上。
如果您有足够的技术力量,拥有一个复杂庞大的关系数据库系统(RDBMS)则是如虎添翼。
但是也许您对数据库还刚刚入门,您刚刚读了Jay的文章,决定自己也来搞一个数据驱动的网站。
可是您也许会发现您缺乏必要的资源来运行ASP服务器或昂贵的数据库系统(您也不需要这些东西)。
您需要一些免费的、支持Unix的东西。
那么我建议您使用PHP和MySQL。
这两样东西加在一起,对于开发数据驱动的网站这项工作而言,真是最佳组合。
其实用不着我多费唇舌解释。
一项由Netcraft组织的非官方调查显示,应用PHP的主机数目由1998年6月的7,500台跃升至1999年3月的410,000台。
不错吧?
这两种软件的组合还在Webcon98大会上赢得了年度数据库产品大奖,还得了一座漂亮的奖杯。
MySQL是一个小巧灵珑的数据库服务器软件,对于小型(当然也不一定很小)应用系统是非常理想的。
除了支持标准的ANSISQL语句,它还支持多种平台,而在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。
对于不使用Unix的用户,它可以在WindowsNT系统上以系统服务方式运行,或者在Windows95/98系统上以普通进程方式运行。
PHP是一种服务器端解释的脚本语言。
如果你接触过ASP的话,那么您对于在HTML页面中嵌入代码应该是比较熟悉了。
PHP代码在服务器一端被解释转变成普通的HTML页面内容,送给浏览器一端。
这种模式使得我们可以用它来完成相当复杂的功能。
除了免费这一点(当然,MySQL也有一些使用许可方面的限制),PHP-MySQL的组合还可以跨平台运行,这意味着您可以在Windows上开发,然后在Unix平台上运行硗猓琍HP也能作为标准的CGI进程来运行,此时它是一个独立的脚本解释器,或者是Apache的一个嵌入模块。
如果您有兴趣使用其他数据库服务器的话,PHP也支持Informix、Oracle、Sybase、Solid和PostgreSQL,以及通用的ODBC。
PHP支持Internet开发的一些前沿技术。
这些技术包括身份认证、XML、动态图象生成、WDDX、共享内存,以及动态PDF文档等等,不一而足。
如果您还不满意的话,PHP是很容易扩展的,所以只要您有编程能力,您尽可以自己大展身手一番。
最后要说的是,两种软件都是大量程序员协同开发的,因此文档及邮件列表等支持方式很多。
程序错误的修正很快,而如果您要求加入新功能的话,总会有人考虑您的要求,并且在可行性足够高的前提下加以实现。
说得够多了!
我们来看看这篇教程里都有些什么内容吧。
第一课讲的是在Unix和Windows环境下安装这两个软件。
如果您不太关心这个问题(也许您是在ISP的服务器上开发),您可以直接跳到第一个示例程序,从那里开始您的奇妙之旅。
在第二课里,我们要学习一些更加复杂的脚本功能,比如循环、处理用户输入,以及与数据库交换数据等等。
第三课要讲的是确认功能,以及如何使您的脚本程序清晰简练。
我们开始吧
二、安装MySQL
快点行动,拿到这些软件包,仔细研究一下吧。
这可不是件容易的事儿。
你从获取软件包、编译软件包到安装软件包的过程中都有不少的选择项。
我们先从MySQL开始,因为有了它才能运行PHP。
MySQL中央网站是
在这时候你也会有多种选择。
如果你是发烧友的话,可以下载源代码;
否则,网上也有各种平台上运行的预先编译过的二进制文件可以直接下载。
另外,MySQL还为Windows用户准备了一个共享软件版本,它的版本号稍低一些。
如果你想要最新的版本,得花钱买一个软件许可。
MySQL还提供了ODBC驱动程序,使前端应用程序可以访问MySQL数据库。
有关其他一些详细信息在它的网站上都有得介绍,您可以去看看。
预先编译过的Unix版本和Windows版本都很简单,只须解包即可使用,不需要做太多说明了。
因此,我们来介绍一下源代码的编译。
Windows用户请记住,您需要运行mysqld程序,该程序是在mysql/bin目录下。
下载压缩过的软件包文件,放在一个目录下。
使用gzip和tar来解压缩和解包。
比较快的做法是使用下面这样的命令:
gunzip$#@60;
mysql-xxxx.tar.gz|tarxvf-
其中,xxxx是你自己任取的一个版本标记。
上面的命令将创建一个名为mysql-xxxx目录,所有的源程序文件都在这个目录下。
通过执行cdmysql-xxxx命令转入该目录,仔细阅读其中的多个README文件INSTALL文件。
在遇到某些问题时,这些文件可能会帮上大忙呢。
MySQL带有一些便利的配置脚本程序。
只须简单地键入./configure,您就可以让这些程序为您完成很多工作。
如果您需要明确指定要做的事情,可以使用./configure-help命令,它会给您列出你可以使用的选项。
例如,如果您正在一台内存较少的机器上进行编译,那么可以使用--with-low-memory选项。
我喜欢把MySQL安装在一个总目录下,而不是安装在机器上多个目录下,所以我会指定安装目录,并指定-prefix选项。
您还可以指定许多其他选项,象编译过程中要略掉哪些部分、保留哪些部分等。
我们不妨假定要全部安装在服务器的/usr/local/mysql目录下。
这意味着我们将键入./configure-prefix=/usr/local/mysql命令。
配置脚本程序运行时会检查您的系统,然后生成一些文件来保证编译的顺利进行。
如果该脚本程序失败,它也会显示一些有用的错误信息告诉您失败的原因。
大家经常会遇到脚本程序在寻找多线程库文件时失败。
此时您应当检查一下系统中是否已经安装了MIT-pthreads,如果没有,那么请您安装该软件。
Linux用户则必须安装LinuxThreads。
这些库文件对于MySQL的多线程运行模式(也就是运行它自己的多个版本〕是非常关键的。
如果一切都顺利进行的话,只须简单键入make命令,然后就可以去泡杯咖啡了。
MySQL是相当复杂的程序,编译起来得用一段时间。
如果发现错误,可以检查文档,看看只否您漏掉了某些与您的操作系统有关的准备工作。
接下来,键入makeinstall命令,所有必需的文件都会安装到相应的目录。
您差不多就可以开始使用了!
如果您是MySQL新手,以前从未安装过MySQL,那您得创建默认的许可权限才能安装,因此请键入...scripts/mysql_install_db来进行相应的设置。
就这样。
我们的准备工作完成了。
再下面所要做的就是在机器启动时自动启动数据库,并在关机时自动关闭数据库。
是的,这项工作也有一个专门的脚本程序。
mysql.serverstart命令可以启动数据库,而mysql.serverstop可以关闭数据库。
实在是再简单不过了。
如果您想手动启动数据库(这样就不用重启机器了),你以进到安装MySQL的最上层目录(/usr/local/mysql)然后键入bin/safe_mysqld&
命令。
我们已经完成了一半了。
接下来是PHP部分。
三、安装PHP
好,看到这里时,希望您已经把MySQL安装好并运行起来了。
那实在是太有意思了!
下面是PHP...这个过程要容易一些,不过那些大量的选项还是使人眼花缭乱。
当然,您大可不必惊慌。
您随时可以重头再来,重新编译PHP,根据需要来加入或去掉某个选项。
PHP的老家在