2.8 MySQL数据库操作
要想快速成为PHP网页编程高手,核心掌握MySQL的数据库操作是非常重要的,一般PHP实现对MySQL的操作主要包括连接、创建、插入、选择、查询、排序、更新以及删除等操作,下面就分别介绍一下实现这些功能的函数命令。
2.8.1 连接数据库MYSQL_CONNECT()
在能够访问并处理数据库中的数据之前,必须创建到达数据库的连接。在PHP中,这个任务通过mysql_connect()函数完成。
语法:
举例如下:
在下面的例子中,我们在一个变量中($conn)存放了在脚本中供以后使用的连接。如果连接失败,将执行die部分。
脚本一结束,就会关闭连接。如需提前关闭连接,则使用mysql_close()函数实现。
2.8.2 创建数据库CREATE
CREATE DATABASE语句用于在MySQL中创建数据库。
语法:
为了让PHP执行上面的语句,必须使用mysql_query()函数。此函数用于向MySQL连接发送查询或命令。
举例如下:
在下面的例子中,创建了一个名为my_db的数据库。
CREATE TABLE用于在MySQL中创建数据库表。
语法:
为了执行此命令,必须向mysql_query()函数添加CREATE TABLE语句。
举例如下:
下面的例子展示了如何创建一个名为Persons的表,此表有三列。列名是FirstName,LastName以及Age。
在创建表之前,必须首先选择数据库。通过mysql_select_db()函数选取数据库。当创建varchar类型的数据库字段时,必须规定该字段的最大长度,例如:varchar(15)。MySQL各种数据类型如表2-8至2-11所示。
表2-8 MySQL数据类型表
表2-9 文本数据类型表
表2-10 日期数据类型表
表2-11 杂项数据类型表
每个表都应有一个主键字段。主键用于对表中的行进行唯一标识。每个主键值在表中必须是唯一的。此外,主键字段不能为空,这是由于数据库引擎需要一个值来对记录进行定位。主键字段永远要被编入索引。这条规则没有例外。必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行。
下面的例子把personID字段设置为主键字段。主键字段通常是ID号,且通常使用AUTO_INCREMENT设置。AUTO_INCREMENT会在新纪录被添加时逐一增加该字段的值。要确保主键字段不为空,必须向该字段添加NOT NULL设置。
举例如下:
2.8.3 插入数据INSERT INTO
INSERT INTO语句用于向数据库表添加新纪录。
语法:
还可以规定希望在其中插入数据的列:
SQL语句对大小写不敏感。INSERT INTO与insert into相同。为了让PHP执行该语句,必须使用mysql_query()函数。该函数用于向MySQL连接发送查询或命令。
举例如下:
在前面创建了一个名为Persons的表,其中有三个列:Firstname、Lastname和Age。下面将在本例中使用同样的表,向Persons表添加两个新纪录。
2.8.4 选取数据SELECT
SELECT语句用于从数据库中选取数据。
语法:
SQL语句对大小写不敏感,SELECT与select等效。为了让PHP执行上面的语句,必须使用mysql_query()函数,该函数用于向MySQL发送查询或命令。
举例如下:
下面的例子选取存储在Persons表中的所有数据(*字符选取表中所有数据)。
上面这个例子在$result变量中存放由mysql_query()函数返回的数据。接下来,使用mysql_fetch_array()函数以数组的形式从记录集返回第一行。每个随后对mysql_fetch_array()函数的调用都会返回记录集中的下一行。while loop语句会循环记录集中的所有记录。为了输出每行的值,使用了PHP的$row变量($row['FirstName']和$row['LastName'])。
2.8.5 条件查询WHERE
如需选取匹配指定条件的数据,请向SELECT语句添加WHERE子句。
语法:
下面的运算符如表2-12所示,可与WHERE子句一起使用。
表2-12 可用于查询的运算符
举例如下:
下面的例子将从Persons表中选取所有FirstName='Root'的行。
2.8.6 数据排序ORDER BY
ORDER BY关键词用于对记录集中的数据进行排序。
语法:
举例如下:
下面的例子选取persons表中的存储的所有数据,并根据Age列对结果进行排序。
如果使用ORDER BY关键词,记录集的排序顺序默认是升序(1在9之前,a在p之前)。使用DESC关键词来设定降序排序(9在1之前,p在a之前)。
可以根据两列进行排序,也可以根据多个列进行排序。当按照多个列进行排序时,只有第一列相同时才使用第二列。
2.8.7 更新数据UPDATE
UPDATE语句用于在数据库表中修改数据。
语法:
举例如下:
通过下面的例子更新Persons表的一些数据。
2.8.8 删除数据DELETE FROM
DELETE FROM语句用于从数据库表中删除记录。
语法:
举例如下:
本小节介绍了PHP实MySQL数据库的一些常用操作,读者在学习的时候一定要认真编写每一行的代码,养成规范,方便后面内容的学习。