MySQL - CẬP NHẬT Truy vấn

Có thể có một yêu cầu trong đó dữ liệu hiện có trong bảng MySQL cần được sửa đổi. Bạn có thể làm như vậy bằng cách sử dụng SQLUPDATEchỉ huy. Điều này sẽ sửa đổi bất kỳ giá trị trường nào của bất kỳ bảng MySQL nào.

Cú pháp

Khối mã sau có cú pháp SQL chung của lệnh UPDATE để sửa đổi dữ liệu trong bảng MySQL:

UPDATE table_name SET field1 = new-value1, field2 = new-value2
[WHERE Clause]
  • Bạn có thể cập nhật một hoặc nhiều trường hoàn toàn.
  • Bạn có thể chỉ định bất kỳ điều kiện nào bằng mệnh đề WHERE.
  • Bạn có thể cập nhật các giá trị trong một bảng tại một thời điểm.

Mệnh đề WHERE rất hữu ích khi bạn muốn cập nhật các hàng đã chọn trong bảng.

Cập nhật dữ liệu từ Command Prompt

Thao tác này sẽ sử dụng lệnh SQL UPDATE với mệnh đề WHERE để cập nhật dữ liệu đã chọn trong bảng MySQL tutorials_tbl.

Thí dụ

Ví dụ sau sẽ cập nhật tutorial_title trường cho một bản ghi có tutorial_id là 3.

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> UPDATE tutorials_tbl 
   -> SET tutorial_title = 'Learning JAVA' 
   -> WHERE tutorial_id = 3;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Cập nhật dữ liệu bằng PHP Script

Bạn có thể sử dụng lệnh SQL UPDATE có hoặc không có WHERE CLAUSE vào hàm PHP - mysql_query(). Hàm này sẽ thực thi lệnh SQL theo cách tương tự như nó được thực thi tại dấu nhắc mysql>.

Thí dụ

Ví dụ sau để cập nhật tutorial_title trường cho một bản ghi có tutorial_id là 3.

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'UPDATE tutorials_tbl
      SET tutorial_title="Learning JAVA"
      WHERE tutorial_id=3';

   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not update data: ' . mysql_error());
   }
   echo "Updated data successfully\n";
   mysql_close($conn);
?>