Hướng dẫn mysql update

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • PHP cập nhật dữ liệu vào MySQL

PHP cập nhật dữ liệu vào MySQL

  • Một khi muốn thay đổi dữ liệu đã được thêm trước đó, thì ta cần cập nhật lại dữ liệu với câu lệnh UPDATE có trong MySQL.
  • Các bước thực hiện:

    • Kết nối database và table.
    • Xác định record (hàng) cần cập nhật.
    • Xử lý dữ liệu.
    • Đóng database.

Cấu trúc update:

  • tên_table: là tên bảng được chọn xem dữ liệu.
  • tên_cột: là tên các cột có trong table.
  • giá_trị: giá trị cần thay đổi.
  • giá_trị_cột_cần_update: giá trị nhận biết record (hàng) cần update.

Cập nhật dữ liệu

Kiểu hướng đối tượng

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $connect->connect_error);
    exit();
}

//Code xử lý, update dữ liệu vào table dựa theo điều kiện WHERE tại id = 1
$sql = "UPDATE tin_xahoi SET title='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if ($connect->query($sql) === TRUE) {
    echo "Dữ liệu đã được update";
} else {
    echo "Lỗi update: " . $connect->error;
}

//Đóng kết nối database tintuc
$connect->close();
?>

Ứng với điều kiện WHERE id=1, tương ứng với record (hàng) thứ 1, khi này chỉ record này được cập nhật.

Kiểu thủ tục

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = mysqli_connect($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if (!$connect) {
    die("Không kết nối :" . mysqli_connect_error());
    exit();
}

//Code xử lý, update dữ liệu vào table dựa theo điều kiện WHERE tại id = 1
$sql = "UPDATE tin_xahoi SET title='Học có trễ đâu1', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if (mysqli_query($connect, $sql)) {
    echo "Dữ liệu đã được update";
} else {
    echo "Lỗi update: " . mysqli_error($connect);
}

//Đóng database
mysqli_close($connect);
?>

Download file ví dụ

Trong file download đã có sẵn file tintuc.sql, file này là file dữ liệu mẫu, sau khi đã tạo database chúng ta có thể đưa dữ liệu từ file tintuc.sql bằng thao tác import có trong phpMyAdmin.



Câu lệnh UPDATE trong MySQL được sử dụng để sửa đổi các bản ghi hiện có trong một bảng. Bạn có thể sử dụng mệnh đề WHERE với truy vấn UPDATE để cập nhật các bản ghi đã chọn, nếu không tất cả các bản ghi sẽ bị ảnh hưởng.

Cú pháp

Cú pháp cơ bản của truy vấn UPDATE với mệnh đề WHERE như sau:

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

Bạn có thể kết hợp N số điều kiện bằng toán tử AND hoặc OR.



Ví dụ

Giả sử bảng CUSTOMERS có các bản ghi sau đây:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ha Anh   |  32 | Da Nang   |  2000.00 |
|  2 | Van Ha   |  25 | Ha Noi    |  1500.00 |
|  3 | Vu Bang  |  23 | Vinh      |  2000.00 |
|  4 | Thu Minh |  25 | Ha Noi    |  6500.00 |
|  5 | Hai An   |  27 | Ha Noi    |  8500.00 |
|  6 | Hoang    |  22 | Ha Noi    |  4500.00 |
|  7 | Binh     |  24 | Ha Noi    | 10000.00 |
+----+----------+-----+-----------+----------+

Truy vấn sau sẽ cập nhật ADDRESS cho một khách hàng có số ID là 6 trong bảng.

UPDATE CUSTOMERS
SET ADDRESS = 'Vinh Phuc'
WHERE ID = 6;

Bây giờ, bảng CUSTOMERS sẽ có các bản ghi sau đây:

Hướng dẫn mysql update

Nếu muốn sửa đổi tất cả các giá trị ADDRESS và SALARY trong bảng CUSTOMERS, bạn không cần phải sử dụng mệnh đề WHERE vì chỉ cần câu lệnh UPDATE là đủ như thể hiện trong câu lệnh sau đây.

UPDATE CUSTOMERS
SET ADDRESS = 'Ha Noi', SALARY = 1000.00;

Bây giờ, bảng CUSTOMERS sẽ có các bản ghi sau đây:

Hướng dẫn mysql update