php数据库.docx

上传人:b****8 文档编号:23894511 上传时间:2023-05-22 格式:DOCX 页数:22 大小:22.09KB
下载 相关 举报
php数据库.docx_第1页
第1页 / 共22页
php数据库.docx_第2页
第2页 / 共22页
php数据库.docx_第3页
第3页 / 共22页
php数据库.docx_第4页
第4页 / 共22页
php数据库.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

php数据库.docx

《php数据库.docx》由会员分享,可在线阅读,更多相关《php数据库.docx(22页珍藏版)》请在冰豆网上搜索。

php数据库.docx

php数据库

一、PHPMySQL简介

MySQL是最流行的开源数据库服务器。

什么是MySQL?

MySQL是一种数据库。

数据库定义了存储信息的结构。

在数据库中,存在着一些表。

类似HTML表格,数据库表含有行、列以及单元。

在分类存储信息时,数据库非常有用。

一个公司的数据库可能拥有这些表:

"Employees","Products","Customers"以及"Orders"。

数据库表

数据库通常包含一个或多个表。

每个表都一个名称(比如"Customers"或"Orders")。

每个表包含带有数据的记录(行)。

下面是一个名为"Persons"的表的例子:

LastName

FirstName

Address

City

Hansen

Ola

Timoteivn10

Sandnes

Svendson

Tove

Borgvn23

Sandnes

Pettersen

Kari

Storgt20

Stavanger

上面的表含有三个记录(每个记录是一个人)和四个列(LastName,FirstName,Address以及City)。

查询

查询是一种询问或请求。

通过MySQL,我们可以向数据库查询具体的信息,并得到返回的记录集。

请看下面的查询:

SELECTLastNameFROMPersons

上面的查询选取了Persons表中LastName列的所有数据,并返回类似这样的记录集:

LastName

Hansen

Svendson

Pettersen

下载MySQL数据库

如果您的PHP服务器没有MySQL数据库,可以在此下载MySQL:

FactsAboutMySQLDatabase

关于MySQL的一点很棒的特性是,可以对它进行缩减,来支持嵌入的数据库应用程序。

也许正因如此,许多人认为MySQL仅仅能处理中小型的系统。

事实上,对于那些支持巨大数据和访问量的网站,MySQL是事实上的标准数据库(比如Friendster,Yahoo,Google)。

这个地址提供了使用MySQL的公司的概览:

二、PHPMySQL连接数据库

免费的MySQL数据库通常是通过PHP来使用的。

连接到一个MySQL数据库

在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。

在PHP中,这个任务通过mysql_connect()函数完成。

语法

mysql_connect(servername,username,password);

参数

描述

servername

可选。

规定要连接的服务器。

默认是"localhost:

3306"。

username

可选。

规定登录所使用的用户名。

默认值是拥有服务器进程的用户的名称。

password

可选。

规定登录所用的密码。

默认是""。

注释:

虽然还存在其他的参数,但上面列出了最重要的参数。

请访问W3School提供的PHPMySQL参考手册,获得更多的细节信息。

例子

在下面的例子中,我们在一个变量中($con)存放了在脚本中供稍后使用的连接。

如果连接失败,将执行"die"部分:

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

//somecode

?

>

关闭连接

脚本一结束,就会关闭连接。

如需提前关闭连接,请使用mysql_close()函数。

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

//somecode

mysql_close($con);

?

>

三、PHPMySQL创建数据库和表

数据库存有一个或多个表。

创建数据库

CREATEDATABASE语句用于在MySQL中创建数据库。

语法

CREATEDATABASEdatabase_name

为了让PHP执行上面的语句,我们必须使用mysql_query()函数。

此函数用于向MySQL连接发送查询或命令。

例子

在下面的例子中,我们创建了一个名为"my_db"的数据库:

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

if(mysql_query("CREATEDATABASEmy_db",$con))

{

echo"Databasecreated";

}

else

{

echo"Errorcreatingdatabase:

".mysql_error();

}

mysql_close($con);

?

>

创建表

CREATETABLE用于在MySQL中创建数据库表。

语法

CREATETABLEtable_name

column_name1data_type,

column_name2data_type,

column_name3data_type,

.......

为了执行此命令,我必须向mysql_query()函数添加CREATETABLE语句。

例子

下面的例子展示了如何创建一个名为"Persons"的表,此表有三列。

列名是"FirstName","LastName"以及"Age":

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

//Createdatabase

if(mysql_query("CREATEDATABASEmy_db",$con))

{

echo"Databasecreated";

}

else

{

echo"Errorcreatingdatabase:

".mysql_error();

}

//Createtableinmy_dbdatabase

mysql_select_db("my_db",$con);

$sql="CREATETABLEPersons 

FirstNamevarchar(15),

LastNamevarchar(15),

Ageint

)";

mysql_query($sql,$con);

mysql_close($con);

?

>

重要事项:

在创建表之前,必须首先选择数据库。

通过mysql_select_db()函数选取数据库。

注释:

当您创建varchar类型的数据库字段时,必须规定该字段的最大长度,例如:

varchar(15)。

MySQL数据类型

下面的可使用的各种MySQL数据类型:

数值类型

描述

∙int(size)

∙smallint(size)

∙tinyint(size)

∙mediumint(size)

∙bigint(size)

仅支持整数。

在size参数中规定数字的最大值。

∙decimal(size,d)

∙double(size,d)

∙float(size,d)

支持带有小数的数字。

在size参数中规定数字的最大值。

在d参数中规定小数点右侧的数字的最大值。

文本数据类型

描述

char(size)

支持固定长度的字符串。

(可包含字母、数字以及特殊符号)。

在size参数中规定固定长度。

varchar(size)

支持可变长度的字符串。

(可包含字母、数字以及特殊符号)。

在size参数中规定最大长度。

tinytext

支持可变长度的字符串,最大长度是255个字符。

∙text

∙blob

支持可变长度的字符串,最大长度是65535个字符。

∙mediumtext

∙mediumblob

支持可变长度的字符串,最大长度是16777215个字符。

∙longtext

∙longblob

支持可变长度的字符串,最大长度是4294967295个字符。

日期数据类型

描述

∙date(yyyy-mm-dd)

∙datetime(yyyy-mm-ddhh:

mm:

ss)

∙timestamp(yyyymmddhhmmss)

∙time(hh:

mm:

ss)

支持日期或时间

杂项数据类型

描述

enum(value1,value2,ect)

ENUM是ENUMERATED列表的缩写。

可以在括号中存放最多65535个值。

set

SET与ENUM相似。

但是,SET可拥有最多64个列表项目,并可存放不止一个choice

主键和自动递增字段

每个表都应有一个主键字段。

主键用于对表中的行进行唯一标识。

每个主键值在表中必须是唯一的。

此外,主键字段不能为空,这是由于数据库引擎需要一个值来对记录进行定位。

主键字段永远要被编入索引。

这条规则没有例外。

你必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行。

下面的例子把personID字段设置为主键字段。

主键字段通常是ID号,且通常使用AUTO_INCREMENT设置。

AUTO_INCREMENT会在新纪录被添加时逐一增加该字段的值。

要确保主键字段不为空,我们必须向该字段添加NOTNULL设置。

例子

$sql="CREATETABLEPersons 

personIDintNOTNULLAUTO_INCREMENT,

PRIMARYKEY(personID),

FirstNamevarchar(15),

LastNamevarchar(15),

Ageint

)";

mysql_query($sql,$con);

四、PHPMySQLInsertInto

INSERTINTO语句用于向数据库表中插入新纪录。

向数据库表插入数据

INSERTINTO语句用于向数据库表添加新纪录。

语法

INSERTINTOtable_name

VALUES(value1,value2,....)

您还可以规定希望在其中插入数据的列:

INSERTINTOtable_name(column1,column2,...)

VALUES(value1,value2,....)

注释:

SQL语句对大小写不敏感。

INSERTINTO与insertinto相同。

为了让PHP执行该语句,我们必须使用mysql_query()函数。

该函数用于向MySQL连接发送查询或命令。

例子

在前面的章节,我们创建了一个名为"Persons"的表,有三个列:

"Firstname","Lastname"以及"Age"。

我们将在本例中使用同样的表。

下面的例子向"Persons"表添加了两个新纪录:

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

mysql_select_db("my_db",$con);

mysql_query("INSERTINTOPersons(FirstName,LastName,Age)

VALUES('Peter','Griffin','35')");

mysql_query("INSERTINTOPersons(FirstName,LastName,Age)

VALUES('Glenn','Quagmire','33')");

mysql_close($con);

?

>

把来自表单的数据插入数据库

现在,我们创建一个HTML表单,这个表单可把新纪录插入"Persons"表。

这是这个HTML表单:

Firstname:

Lastname:

Age:

当用户点击上例中HTML表单中的提交按钮时,表单数据被发送到"insert.php"。

"insert.php"文件连接数据库,并通过$_POST变量从表单取回值。

然后,mysql_query()函数执行INSERTINTO语句,一条新的记录会添加到数据库表中。

下面是"insert.php"页面的代码:

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

mysql_select_db("my_db",$con);

$sql="INSERTINTOPersons(FirstName,LastName,Age)

VALUES

('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if(!

mysql_query($sql,$con))

{

die('Error:

'.mysql_error());

}

echo"1recordadded";

mysql_close($con)

?

>

五、PHPMySQLSelect

SELECT语句用于从数据库中选取数据。

从数据库表中选取数据

SELECT语句用于从数据库中选取数据。

语法

SELECTcolumn_name(s)FROMtable_name

注释:

SQL语句对大小写不敏感。

SELECT与select等效。

为了让PHP执行上面的语句,我们必须使用mysql_query()函数。

该函数用于向MySQL发送查询或命令。

例子

下面的例子选取存储在"Persons"表中的所有数据(*字符选取表中所有数据):

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

mysql_select_db("my_db",$con);

$result=mysql_query("SELECT*FROMPersons");

while($row=mysql_fetch_array($result))

{

echo$row['FirstName']."".$row['LastName'];

echo"
";

}

mysql_close($con);

?

>

上面这个例子在$result变量中存放由mysql_query()函数返回的数据。

接下来,我们使用mysql_fetch_array()函数以数组的形式从记录集返回第一行。

每个随后对mysql_fetch_array()函数的调用都会返回记录集中的下一行。

whileloop语句会循环记录集中的所有记录。

为了输出每行的值,我们使用了PHP的$row变量($row['FirstName']和$row['LastName'])。

以上代码的输出:

PeterGriffin

GlennQuagmire

在HTML表格中显示结果

下面的例子选取的数据与上面的例子相同,但是将把数据显示在一个HTML表格中:

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

mysql_select_db("my_db",$con);

$result=mysql_query("SELECT*FROMPersons");

echo"

Firstname

Lastname

";

while($row=mysql_fetch_array($result))

{

echo"";

echo"".$row['FirstName']."";

echo"".$row['LastName']."";

echo"";

}

echo"";

mysql_close($con);

?

>

以上代码的输出:

Firstname

Lastname

Glenn

Quagmire

Peter

Griffin

六、PHPMySQLWhere子句

如需选取匹配指定条件的数据,请向SELECT语句添加WHERE子句。

WHERE子句

如需选取匹配指定条件的数据,请向SELECT语句添加WHERE子句。

语法

SELECTcolumnFROMtable

WHEREcolumnoperatorvalue

下面的运算符可与WHERE子句一起使用:

运算符

说明

=

等于

!

=

不等于

>

大于

<

小于

>=

大于或等于

<=

小于或等于

BETWEEN

介于一个包含范围内

LIKE

搜索匹配的模式

注释:

SQL语句对大小写不敏感。

WHERE与where等效。

为了让PHP执行上面的语句,我们必须使用mysql_query()函数。

该函数用于向SQL连接发送查询和命令。

例子

下面的例子将从"Persons"表中选取所有FirstName='Peter'的行:

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

mysql_select_db("my_db",$con);

$result=mysql_query("SELECT*FROMPersons

WHEREFirstName='Peter'");

while($row=mysql_fetch_array($result))

{

echo$row['FirstName']."".$row['LastName'];

echo"
";

}

?

>

以上代码的输出:

PeterGriffin

七、PHPMySQLOrderBy关键词

ORDERBY关键词用于对记录集中的数据进行排序。

ORDERBY关键词

ORDERBY关键词用于对记录集中的数据进行排序。

语法

SELECTcolumn_name(s)

FROMtable_name

ORDERBYcolumn_name

注释:

SQL对大小写不敏感。

ORDERBY与orderby等效。

例子

下面的例子选取"Persons"表中的存储的所有数据,并根据"Age"列对结果进行排序:

php

$con=mysql_connect("localhost","peter","abc123");

if(!

$con)

{

die('Couldnotconnect:

'.mysql_error());

}

mysql_select_db("my_db",$con);

$result=mysql_query("SELECT*FROMPersonsORDERBYage");

while($row=mysql_fetch_array($result))

{

echo$row['FirstName'];

echo"".$row['LastName'];

echo"".$row['Age'];

echo"
";

}

mysql_close($con);

?

>

以上代码的输出:

GlennQuagmire33

PeterGriffin35

升序或降序的排序

如果您使用ORDERBY关键词,记录集的排序顺序默认是升序(1在9之前,"a"在"p"之前)。

请使用DESC关键词来设定降序排序(9在1之前,"p"在"a"之前):

SELECTcolumn_name(s)

FROMtable_name

ORDERBYcolumn_nameDESC

根据两列进行排序

可以根据多个列进行排序。

当按照多个列进行排序时,只有第一列相同时才使用第二列:

SELECTcolumn_name(s)

FROMtable_name

ORDERBYcolumn_name1,column_name2

七、PHPMySQLUpdate

UPDATE语句用于中修改数据库表中的数据。

更新数据库中的数据

UPDATE语句用于在数据库表中修改数据。

语法

UPDATEtable_name

SETcolumn_name=new_value

WHEREcolumn_name=some_value

注释:

SQL对大小写不敏感。

UPDATE与update等效。

为了让PHP执行上面的语句,我们必须使用mysql_query(函数。

该函数用于

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1