MySQL UPDATE 更新语句用法详解与示例
MySQL UPDATE 查询是一个 DML 语句,用于修改数据库内 MySQL 表的数据。在现实生活中,记录经常会在一段时间内发生变化。所以我们还需要更新表的值。我们通常需要使用 UPDATE 语句。
UPDATE 语句与SET和WHERE子句一起使用,SET 子句用于更改指定列的值,我们可以一次更新单个或多个列。
语法格式
以下是 UPDATE 命令通用 SQL 语法:
UPDATE table_name
SET column_name1 = new-value1,
column_name2=new-value2, …
[WHERE Clause]
参数说明
UPDATE 语句的语法中使用的参数说明如下:
范围 | 说明 |
---|---|
table_name | 我们要更新的表的名称。 |
column_name | 我们使用 SET 子句更新的列的名称。如果需要更新多列,通过指定每列中的值,用逗号运算符分隔列。 |
WHERE Clause | 可选项,用于指定需要更新数据的约束条件。如果我们省略这个子句,MySQL 会更新所有行。 |
UPDATE 语句
以下我们将在 SQL UPDATE 命令使用 WHERE 子句来更新 runoon_tbl 表中指定的数据,以下实例将更新数据表中 runoon_id 为 3 的 runoon_title 字段值:
mysql> UPDATE runoon_tbl SET runoon_title='学习 C++' WHERE runoon_id=3;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * from runoon_tbl WHERE runoon_id=3;
+-----------+--------------+---------------+-----------------+
| runoon_id | runoon_title | runoon_author | submission_date |
+-----------+--------------+---------------+-----------------+
| 3 | 学习 C++ | RUNOON.COM | 2016-05-06 |
+-----------+--------------+---------------+-----------------+
1 row in set (0.00 sec)
从结果上看,runoon_id 为 3 的 runoon_title 已被修改。
使用PHP脚本更新数据
PHP 中使用函数 mysqli_query() 来执行 SQL 语句,你可以在 SQL UPDATE 语句中使用或者不使用 WHERE 子句。
注意:不使用 WHERE 子句将数据表的全部数据进行更新,所以要慎重。
该函数与在 mysql> 命令提示符中执行 SQL 语句的效果是一样的。
MySQL UPDATE 语句测试
以下实例将更新 runoon_id 为 3 的 runoon_title 字段的数据。
<?php
$dbhost = 'localhost'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
$sql = 'UPDATE runoon_tbl
SET runoon_title="学习 Python"
WHERE runoon_id=3';
mysqli_select_db( $conn, 'RUNOON' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法更新数据: ' . mysqli_error($conn));
}
echo '数据更新成功!';
mysqli_close($conn);
?>
查看执行结果:
mysql> select * from runoon_tbl where runoon_id=3;
+-----------+---------------+---------------+-----------------+
| runoon_id | runoon_title | runoon_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | 学习 Python | RUNOON.COM | 2016-05-06 |
+-----------+---------------+---------------+-----------------+
1 row in set (0.00 sec)