Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Xóa dữ liệu khỏi cơ sở dữ liệu MySQL

Trong MySQL, bạn có thể xóa dữ liệu dễ dàng như bạn có thể truy vấn hoặc cập nhật dữ liệu đó.

SQL DELETE Tuyên bố

Sử dụng DELETE của SQL tuyên bố xóa dữ liệu khỏi cơ sở dữ liệu của bạn. Giống như SELECTUPDATE câu lệnh, DELETE câu lệnh chấp nhận một WHERE để bạn có thể chỉ định / các bản ghi chính xác cần xóa.

Cú pháp

DELETE
FROM table_name
WHERE column_name = value;

Ví dụ

  1. Dữ liệu

    Đây là dữ liệu trước khi chúng tôi xóa bất kỳ thứ gì.

  2. Xóa một số dữ liệu

    Hãy xóa nho đỏ khỏi danh sách trái cây của chúng tôi. Nho đỏ đã được chỉ định một FruitId trong tổng số 5 vì vậy chúng tôi sẽ sử dụng nó trong DELETE của chúng tôi tuyên bố.

    DELETE
                FROM Fruit
                WHERE FruitId = 5;
  3. Kết quả

    Nếu chúng ta chạy đoạn mã trên, sau đó chọn tất cả các hàng từ bảng, chúng ta có thể thấy rằng bản ghi đã bị xóa.

Xóa tất cả các bản ghi

Bạn có thể xóa tất cả các bản ghi trong một bảng khá dễ dàng. Trên thực tế, xóa tất cả dễ dàng hơn hồ sơ hơn là xóa một bản ghi cụ thể.

  1. Để xóa tất cả bản ghi trong bảng, chỉ cần bỏ qua WHERE mệnh đề. Như thế này:

    DELETE FROM Fruit;
  2. Kết quả

    Rất tiếc… Không còn hồ sơ nào nữa!

Như bạn có thể tưởng tượng, cần phải rất cẩn thận khi sử dụng DELETE tuyên bố. Đây là nơi mà chế độ Cập nhật An toàn có thể trợ giúp (như chúng tôi đã đề cập khi cập nhật dữ liệu của mình).

Hóa ra, tôi chỉ có thể chạy câu lệnh trên sau khi tắt chế độ Cập nhật An toàn. Vì vậy, trước khi chạy câu lệnh đó, tôi đã chạy lệnh sau:

SET SQL_SAFE_UPDATES = 0;

Vì vậy, bây giờ có lẽ là thời điểm tốt để tôi bật lại Cập nhật An toàn - trước khi tôi gây thêm bất kỳ thiệt hại nào…

SET SQL_SAFE_UPDATES = 1;

Khôi phục dữ liệu

Bây giờ chúng tôi đã xóa tất cả các bản ghi khỏi Fruit hãy xem liệu chúng ta có thể khôi phục chúng về giá trị ban đầu hay không. May mắn thay cho chúng tôi, trước đây chúng tôi đã viết một tập lệnh để chèn dữ liệu vào bảng của mình.

  1. Vì vậy, chúng ta hãy lấy ra bit điền vào Fruit bảng và chạy:

    INSERT INTO Fruit 
            VALUES 
            (1,'Apple',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (2,'Orange',5,2,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (3,'Banana',20,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (4,'Watermelon',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (5,'Grapes',15,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'),
            (6,'Strawberry',12,7,'2015-02-15 10:30:00','2015-02-15 10:30:00');
  2. Kết quả

    Bây giờ bảng của chúng ta sẽ trông giống như trước đó khi chúng ta điền dữ liệu ban đầu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi trong MySQL khi đặt giá trị mặc định cho DATE hoặc DATETIME

  2. Cách tạo thủ tục lưu trữ trong MySQL

  3. Làm cách nào để cập nhật nếu tồn tại, chèn nếu không (AKA nâng cấp hoặc hợp nhất) trong MySQL?

  4. Ví dụ ORD () - MySQL

  5. Cách tạo và thực thi các hàm và thủ tục được lưu trữ trong MySQL