php 操作mysql 常用语法_PHP入门之MySQL基本语法和基本操作

使用 PHP 对 MySQL 进行操作可以分为两步。

第一步是使用 PHP 与 MySQL 建立连接;

第二步是使用 PHP 执行 SQL 查询语言(包括增、删、改、查)。

使用 PHP 与 MySQL 建立连接

PHP 中对 MySQL 进行操作,常用的是 mysqli 这个类,在将 mysqli 实例化的过程,其实就是连接 MySQL 数据库的过程。

连接数据库需要四个参数:数据库主机地址、数据库用户名、密码、数据库名。

$host = "localhost";

$user = "root";

$psw = "KyHojzzUAIfh1dEn";

$db = "phptest";

$phptest = new mysqli($host, $user, $psw, $db);

if($phptest){

echo "Connection is successful";

}

else

echo "Failed to connect database";

?>

主机地址、用户名等参数需要根据实际情况修改。

执行结果:

Connection is successful

MySQL 查询操作

使用 PHP 对 MySQL 进行查询操作包括增、删、改、查四类。具体操作也是基于 mysqli 类来进行。

增加数据也就是插入数据。MySQL 对某个数据表进行插入数据的语法是这样的:

INSERT INTO table_name ( field1, field2,...fieldN )

VALUES

( value1, value2,...valueN );

其中 table_name 就是待插入数据的表名,field 表示字段名(列名),而 value 表示与字段对应的值。

测试用的数据库 phptest 中只有一个表 tab1,该表包含 5 个字段,表初始为空:

1874

PHP 中需要通过 mysqli::query()方法来执行 MySQL 查询语言。下面插入时只填写部分字段的数据。

/*

此处省去了上面连接数据库的部分,请自行补全

*/

//插入数据

$result = $phptest->query("INSERT INTO tab1 ( user_name, email, content )

VALUES

( 'tomorrow', '1107150012@qq.com','hello MySQL' )");

if($result)

echo "Insert successfully";

else

echo "Failed"

?>

执行以上代码后数据库工具查询可以看到 tab1 中已经多了一行数据,并且数据内容是与代码中所插入的内容一致的:

1874

MySQL 删除数据的语法是这样的:

DELETE FROM table_name [WHERE Clause]

[WHERE Clause]表示的是一个条件,执行上面语句就是将 table_name 中符合[WHERE Clause]条件的所有数据删除。

在测试前,先在数据表中写入 5 行数据。

1874

执行删除语句同样使用 mysqli::query()方法:

/*

此处省去了上面连接数据库的部分,请自行补全

*/

//删除数据

$result = $phptest->query("DELETE FROM tab1 WHERE id>2 AND email='123'");

if($result)

echo "Delete successfully";

else

echo "Failed"

?>

执行以上代码后,数据表中 id>2 且 email=‘123’的数据都被删除了

1874

改,也可以称作更新 update,修改数据的SQL 语法如下:

UPDATE table_name SET field1=new-value1, field2=new-value2

[WHERE Clause]

跟上面的语法类似,全大写的是 SQL 关键字,table_name 是要修改的表名,field 表示字段名,new-value 表示新的值。

修改测试前 tab1 是这样的

1874

具体的 PHP 代码:

/*

此处省去了上面连接数据库的部分,请自行补全

*/

//修改数据

$result = $phptest->query("UPDATE tab1 SET email='hello@tomorrow.wiki',content='Ha, It is latest!!!!'

WHERE id<3 AND user_name='tomorrow'");

if($result)

echo "Update successfully";

else

echo "Failed"

?>

执行以上代码后:

1874

SQL 查询的语法如下:

SELECT column_name1,column_name2...

FROM table_name

[WHERE Clause]

column_name表示列名,也即字段名,该语法表示从某一个表中查询符合条件的、选中的列数据。下面举个例子就明白了。

/*

此处省去了上面连接数据库的部分,请自行补全

*/

// 设置编码,防止中文乱码

mysqli_query($phptest , "set names utf8");

//查询数据

$result = $phptest->query("SELECT id,user_name,content FROM tab1 WHERE id<6 AND email LIKE '%@tomorrow.wiki' ");

if($result)

echo "SELECT successfully";

else

echo "Failed";

//打印输出查询结果

$row = $result->fetch_array(MYSQLI_ASSOC);

while ($row) {

echo "用户 ID:".$row["id"] . "用户名:" . $row["user_name"] . "内容:" . $row["content"] . "" ;

echo "--------------------------------------------";

$row = $result->fetch_array(MYSQLI_ASSOC);

}

?>

数据库中的数据与查询得到的数据对比:

1874

PHP 代码执行得到的查询结果:

Connection is successful

SELECT successfully

用户 ID:1

用户名:tomorrow

内容:Ha, It is latest!!!!

--------------------------------------------

用户 ID:4

用户名:YOU

内容:这是一个简单的例子!!!!

--------------------------------------------

用户 ID:5

用户名:Hodor

内容:这是一个简单的例子!!!! 这是一个简单的例子!!!! 这是一个简单的例子!!!!

--------------------------------------------

SELECT id,user_name,content FROM tab1 WHERE id<6 AND email LIKE '%@tomorrow.wiki'这条 SQL 查询语句表示的是,从表 tab1 中,查询 id<6 且 email 像@tomorrow.wiki 这样的数据,然后返回 id,user_name,content 对应的数据。没有被选中的列数据是不会返回的。

再来说说上面 PHP 代码,$phptest->query()执行的如果是SELECT语句并且成功的话,返回的是一个 mysqli_result 对象。

mysqli_result 该类有一个方法 fetch_array(),MYSQLI_ASSOC 是一个常量(表示关联数组),执行$result->fetch_array(MYSQLI_ASSOC)返回的是 MySQL 查询结果中的最新一行数据(关联数组的方式),并且会将该行数据从$result结果中删除。

所以,再次执行$result->fetch_array(MYSQLI_ASSOC)得到的结果是和上一次执行的是不一样的,每执行一次返回一行数据并删除,直到$result中没有数据,就返回 NULL。

TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

转载请注明原文链接:PHP 入门之 MySQL 基本语法和基本操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值