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 子句來更新 itread01_tbl 表中指定的資料:

例項

以下例項將更新資料表中 itread01_id 為 3 的 itread01_title 欄位值:

SQL UPDATE 語句:

mysql> UPDATE itread01_tbl SET itread01_title='學習 C++' WHERE itread01_id=3; Query OK, 1 rows affected (0.01 sec) mysql> SELECT * from itread01_tbl WHERE itread01_id=3; +-----------+--------------+---------------+-----------------+ | itread01_id | itread01_title | itread01_author | submission_date | +-----------+--------------+---------------+-----------------+ | 3 | 學習 C++ | itread01.COM | 2016-05-06 | +-----------+--------------+---------------+-----------------+ 1 rows in set (0.01 sec)

從結果上看,itread01_id 為 3 的 itread01_title 已被修改。


使用PHP指令碼更新資料

PHP 中使用函式 mysqli_query() 來執行 SQL 語句,你可以在 SQL UPDATE 語句中使用或者不使用 WHERE 子句。

注意:不使用 WHERE 子句將資料表的全部資料進行更新,所以要慎重。

該函式與在 mysql> 命令提示符中執行 SQL 語句的效果是一樣的。

例項

以下例項將更新 itread01_id 為 3 的 itread01_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 itread01_tbl SET itread01_title="學習 Python" WHERE itread01_id=3'; mysqli_select_db( $conn, 'itread01' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('無法更新資料: ' . mysqli_error($conn)); } echo '資料更新成功!'; mysqli_close($conn); ?>