Bạn có thể cập nhật nhiều hàng trong MySQL không?
Bạn sẽ cần phải viết các điều kiện rất phức tạp nếu bạn muốn cập nhật nhiều hơn hai hàng. Trong trường hợp như vậy, bạn có thể sử dụng phương pháp Show Để cập nhật nhiều hàng trong một cột, hãy sử dụng câu lệnh CASE. Trước tiên chúng ta hãy tạo một bảng - mysql> create table updateMultipleRowsDemo -> ( -> StudentId int, -> StudentMathScore int -> ); Query OK, 0 rows affected (0.63 sec) Sau đây là truy vấn để chèn các bản ghi vào bảng bằng cách sử dụng lệnh chèn - mysql> insert into updateMultipleRowsDemo values(10001,67); Query OK, 1 row affected (0.14 sec) mysql> insert into updateMultipleRowsDemo values(10002,69); Query OK, 1 row affected (0.15 sec) mysql> insert into updateMultipleRowsDemo values(10003,89); Query OK, 1 row affected (0.14 sec) mysql> insert into updateMultipleRowsDemo values(10004,99); Query OK, 1 row affected (0.13 sec) mysql> insert into updateMultipleRowsDemo values(10005,92); Query OK, 1 row affected (0.13 sec) Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select - mysql> select * from updateMultipleRowsDemo; Điều này sẽ tạo ra đầu ra sau - +-----------+------------------+ | StudentId | StudentMathScore | +-----------+------------------+ | 10001 | 67 | | 10002 | 69 | | 10003 | 89 | | 10004 | 99 | | 10005 | 92 | +-----------+------------------+ 5 rows in set (0.00 sec) Đây là truy vấn để cập nhật nhiều hàng trong một cột trong MySQL - mysql> UPDATE updateMultipleRowsDemo -> SET StudentMathScore= CASE StudentId -> WHEN 10001 THEN 45 -> WHEN 10002 THEN 52 -> WHEN 10003 THEN 67 -> END -> WHERE StudentId BETWEEN 10001 AND 10003; Query OK, 3 rows affected (0.19 sec) Rows matched: 3 Changed: 3 Warnings: 0 Hãy để chúng tôi kiểm tra giá trị được cập nhật hay không - mysql> select * from updateMultipleRowsDemo; Điều này sẽ tạo ra đầu ra sau +-----------+------------------+ | StudentId | StudentMathScore | +-----------+------------------+ | 10001 | 45 | | 10002 | 52 | | 10003 | 67 | | 10004 | 99 | | 10005 | 92 | +-----------+------------------+ 5 rows in set (0.00 sec) Trong bài tập này, chúng ta sẽ học cách cập nhật nhiều hàng với các giá trị khác nhau trong một truy vấn. Giả sử chúng tôi có hồ sơ nhân viên sau và chúng tôi muốn cập nhật số điện thoại của một số nhân viên -
Cách tốt nhất để cập nhật nhiều hàng chỉ trong một câu lệnh là sử dụng câu lệnh CASE WHEN ELSE. Trong trường hợp này, câu lệnh sẽ cập nhật trường hợp khớp và kết thúc theo cách khác, như-
Ở đây, 'table_name' là tên bảng MySQL, 'field_name' là tên cột Truy vấn cập nhật để cập nhật số điện thoại của một số nhân viên như sau -
hãy kiểm tra dữ liệu cập nhật -
Bài tập MySQL liên quanMySQL nốiMySQL Nhận ngày hiện tại, người dùng, phiên bản MySQL Nhận giá trị tối đa Quản trị viên MySQL mệnh đề mysql where Thứ tự MySQL theo MySQL nhận được sự khác biệt giữa hai ngày Kết hợp mẫu MySQL MySQL tham gia Biểu thức chính quy MySQL MySQL xóa hàng trùng lặp Nhận mức lương cao thứ n khi sử dụng MySQL Hiển thị hàng thứ n từ MySQL Cam kết và khôi phục trong mysql MySQL CHỌN top 5 MySQL hiển thị các hàng thay thế Có thể CẬP NHẬT trong SQL CẬP NHẬT nhiều hàng không?Chúng ta có thể cập nhật nhiều hàng của bảng bằng cách sử dụng lệnh cập nhật đơn lẻ .
Làm cách nào để CẬP NHẬT nhiều mục nhập trong MySQL?Lệnh MySQL UPDATE có thể được sử dụng để cập nhật nhiều cột bằng cách chỉ định danh sách cột_name = new_value được phân tách bằng dấu phẩy . Trong đó column_name là tên của cột sẽ được cập nhật và new_value là giá trị mới mà cột sẽ được cập nhật.
Làm cách nào tôi có thể CẬP NHẬT nhiều hàng của một cột trong SQL?Các giá trị cột trên nhiều hàng có thể được cập nhật trong một câu lệnh CẬP NHẬT nếu điều kiện được chỉ định trong mệnh đề WHERE khớp với nhiều hàng . Trong trường hợp này, mệnh đề SET sẽ được áp dụng cho tất cả các hàng khớp.
Bạn có thể CẬP NHẬT trên nhiều bảng trong MySQL không?Trong MYSQL, chúng ta có thể cập nhật nhiều bảng trong một truy vấn CẬP NHẬT duy nhất . Trong truy vấn bên dưới, cả hai bảng 'order' và 'order_detail' đều được cập nhật cùng một lúc. |