Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Xóa bản ghi có giá trị lớn hơn ngưỡng trong MySQL

Sử dụng DELETE ... WHERE column > value để xóa các hàng vượt quá ngưỡng cho trước.

Tạo bảng điểm người chơi

mysql> CREATE TABLE DemoTable(
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    PlayerName VARCHAR(100),
    PlayerScore INT
); 
Query OK, 0 rows affected (0.97 sec)

mysql> INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES 
('Chris',780), ('Sam',1100), ('Mike',900), ('Bob',890), ('Carol',1000); 
Query OK, 5 rows affected

Xóa người chơi có điểm > 900

mysql> DELETE FROM DemoTable WHERE PlayerScore > 900; 
Query OK, 2 rows affected (0.18 sec)

Kết quả (còn lại ≤ 900):

+----+------------+-------------+
| Id | PlayerName | PlayerScore |
+----+------------+-------------+
| 1  | Chris      | 780         |
| 3  | Mike       | 900         |
| 4  | Bob        | 890         |
+----+------------+-------------+

Lưu ý:

  • DELETE không thể hoàn tác (trừ khi trong transaction chưa commit)
  • Cân nhắc SELECT * FROM DemoTable WHERE PlayerScore > 900 trước để xem trước
  • Với bảng lớn, xóa theo batch (LIMIT 1000) để tránh lock table lâu