English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تحديث MySQL UPDATE

إذا كنا بحاجة إلى تعديل أو تحديث البيانات في MySQL، يمكننا استخدام أمر SQL UPDATE للقيام بذلك.

النحو

إليك لغة SQL العامة لتحديث بيانات جدول MySQL باستخدام أمر UPDATE:

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
  • يمكنك تحديث حقل واحد أو أكثر في نفس الوقت.

  • 你可以在 WHERE 子句中指定任何条件。

  • 你可以在一个单独表中同时更新数据。

当你需要更新数据表中指定行的数据时 WHERE 子句是非常有用的。

通过命令提示符更新数据

以下我们将在 SQL UPDATE 命令使用 WHERE 子句来更新 w3codebox_tbl 表中指定的数据:

在线示例

以下示例将更新数据表中 w3codebox_id 为 3 的 w3codebox_title 字段值:

mysql> UPDATE w3codebox_tbl SET w3codebox_title='学习 C++' WHERE w3codebox_id=3;
Query OK, 1 rows affected (0.01 sec)
 
mysql> SELECT * from w3codebox_tbl WHERE w3codebox_id=3;
+-----------+--------------+---------------+-----------------+
| w3codebox_id | w3codebox_title | w3codebox_author | submission_date |
+-----------+--------------+---------------+-----------------+
| 3          | 学习 C++      | oldtoolbag.com          | 2016-05-06          |
+-----------+--------------+---------------+-----------------+
1 rows in set (0.01 sec)

从结果上看,w3codebox_id 为 3 的 w3codebox_title 已被修改。

使用PHP脚本更新数据

PHP 中使用函数 mysqli_query() 来执行 SQL 语句,你可以在 SQL UPDATE 语句中使用或者不使用 WHERE 子句。

注意:不使用 WHERE 子句将数据表的全部数据进行更新,所以要慎重。

该函数与在 mysql> 命令提示符中执行 SQL 语句的效果是一样的。

在线示例

以下示例将更新 w3codebox_id 为 3 的 w3codebox_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 w3codebox_tbl
        SET w3codebox_title="تعلم Python"
        WHERE w3codebox_id=3';
 
mysqli_select_db( $conn, 'w3codebox' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('فشل تحديث البيانات: ' . mysqli_error($conn));
}
echo 'تم تحديث البيانات بنجاح!';
mysqli_close($conn);
?>