Tạo bảng demo
mysql> create table DemoTable (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(100),
-> Score int
-> );
Query OK, 0 rows affected (0.78 sec)
Chèn dữ liệu
mysql> insert into DemoTable(Name, Score) values('John', 68);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable(Name, Score) values('Carol', 98);
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable(Name, Score) values('David', 89);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(Name, Score) values('Robert', 67);
Query OK, 1 row affected (0.14 sec)
Hiển thị dữ liệu gốc
mysql> select * from DemoTable;
Kết quả
+----+--------+-------+ | Id | Name | Score | +----+--------+-------+ | 1 | John | 68 | | 2 | Carol | 98 | | 3 | David | 89 | | 4 | Robert | 67 | +----+--------+-------+ 4 rows in set (0.00 sec)
Tăng Score lên 1 cho Id = 3
mysql> update DemoTable set Score = Score + 1 where Id = 3; Query OK, 1 row affected (0.22 sec) Rows matched: 1 Changed: 1 Warnings: 0
Kiểm tra kết quả - David từ 89 thành 90
mysql> select * from DemoTable;
Kết quả
+----+--------+-------+ | Id | Name | Score | +----+--------+-------+ | 1 | John | 68 | | 2 | Carol | 98 | | 3 | David | 90 | | 4 | Robert | 67 | +----+--------+-------+ 4 rows in set (0.00 sec)
Các biến thể:
- Tăng tất cả:
UPDATE DemoTable SET Score = Score + 1; - Tăng có điều kiện:
WHERE Score < 90 - Tăng theo phần trăm:
SET Score = Score * 1.1 - Sử dụng
CASEđể tăng khác nhau:SET Score = Score + CASE WHEN Score < 50 THEN 10 ELSE 5 END
Lưu ý: Luôn có điều kiện WHERE trừ khi muốn cập nhật toàn bảng.