Tạo bảng demo
mysql> create table DemoTable702 (
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(100),
StudentScore int
);
Query OK, 0 rows affected (0.56 sec)
Chèn dữ liệu
mysql> insert into DemoTable702(StudentName, StudentScore) values('Chris', 56);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable702(StudentName, StudentScore) values('Robert', 21);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable702(StudentName, StudentScore) values('Mike', 89);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable702(StudentName, StudentScore) values('David', 99);
Query OK, 1 row affected (0.20 sec)
Hiển thị dữ liệu gốc
mysql> select * from DemoTable702;
Kết quả
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | Chris | 56 | | 2 | Robert | 21 | | 3 | Mike | 89 | | 4 | David | 99 | +-----------+-------------+--------------+ 4 rows in set (0.00 sec)
Cập nhật: Cộng 9 vào StudentScore cho StudentId = 2
mysql> update DemoTable702 set StudentScore = StudentScore + 9 where StudentId = 2; Query OK, 1 row affected (0.09 sec) Rows matched: 1 Changed: 1 Warnings: 0
Kiểm tra kết quả - Robert từ 21 thành 30
mysql> select * from DemoTable702;
Kết quả
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | Chris | 56 | | 2 | Robert | 30 | | 3 | Mike | 89 | | 4 | David | 99 | +-----------+-------------+--------------+ 4 rows in set (0.00 sec)
Giải thích: Cột StudentScore kiểu INT, phép toán + 9 trực tiếp cập nhật giá trị số nguyên. MySQL không có khái niệm "chỉ cập nhật phần nguyên" tách biệt vì INT chỉ lưu số nguyên.
Nếu cột là DECIMAL/FLOAT (có phần thập phân):
- Làm tròn:
ROUND(cot, 0) - Làm tròn xuống:
FLOOR(cot) - Làm tròn lên:
CEILING(cot) - Cắt bỏ phần thập phân:
TRUNCATE(cot, 0)hoặcCAST(cot AS UNSIGNED)
Ví dụ: UPDATE bang SET cot = FLOOR(cot + 9.5) WHERE ...