MySQL UPDATE 更新
如果我們需要修改或更新 MySQL 中的數據,我們可以使用 SQL UPDATE 命令來操作。
語法
以下是 UPDATE 命令修改 MySQL 數據表數據的通用 SQL 語法:
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
你可以同時更新一個或多個字段。
你可以在 WHERE 子句中指定任何條件。
你可以在一個單獨表中同時更新數據。
當你需要更新數據表中指定行的數據時 WHERE 子句是非常有用的。
通過命令提示符更新數據
以下我們將在 SQL UPDATE 命令使用 WHERE 子句來更新 runoob_tbl 表中指定的數據:
實例
以下實例將更新數據表中 runoob_id 爲 3 的 runoob_title 字段值:
SQL UPDATE 語句:
mysql> UPDATE runoob_tbl SET runoob_title='學習 C++' WHERE runoob_id=3;
Query OK, 1 rows affected (0.01 sec)
mysql> SELECT * from runoob_tbl WHERE runoob_id=3;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| 3 | 學習 C++ | RUNOOB.COM | 2016-05-06 |
+-----------+--------------+---------------+-----------------+
1 rows in set (0.01 sec)
從結果上看,runoob_id 爲 3 的 runoob_title 已被修改。
使用PHP腳本更新數據
PHP 中使用函數 mysqli_query() 來執行 SQL 語句,你可以在 SQL UPDATE 語句中使用或者不使用 WHERE 子句。
注意:不使用 WHERE 子句將數據表的全部數據進行更新,所以要慎重。
該函數與在 mysql> 命令提示符中執行 SQL 語句的效果是一樣的。
實例
以下實例將更新 runoob_id 爲 3 的 runoob_title 字段的數據。
MySQL UPDATE 語句測試:
<?php
$dbhost = 'localhost:3306'; // 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 runoob_tbl
SET runoob_title="學習 Python"
WHERE runoob_id=3';
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('無法更新數據: ' . mysqli_error($conn));
}
echo '數據更新成功!';
mysqli_close($conn);
?>