Từ khóa DELETE được dùng để xóa dữ liệu (hàng) trong bảng.Cú pháp xóa dữ liệu trong bảng
Một số ví dụChúng ta có một bảng sinh_vien như sau: Show (Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới)
Xóa những sinh viên có giới tính là nam
Sau khi thực thi, bảng sinh_vien sẽ trở thành:
Xóa những sinh viên có giới tính nam và tuổi là 19
Sau khi thực thi, bảng sinh_vien sẽ trở thành:
Lưu ý:Đối với câu lệnh DELETE, nếu chúng ta bỏ mệnh đề WHERE thì MySQL sẽ xóa hết tất cả dữ liệu của bảng. Câu lệnh DELETE trong MySQL được sử dụng để xóa các bản ghi hiện có từ một bảng. Bạn có thể sử dụng mệnh đề WHERE với truy vấn DELETE để xóa các hàng đã chọn, nếu không tất cả các bản ghi sẽ bị xóa. Cú phápCú pháp cơ bản của truy vấn DELETE với mệnh đề WHERE như sau: DELETE FROM table_name WHERE [condition]; Bạn có thể kết hợp N điều kiện bằng cách sử dụng các toán tử AND và OR. Ví dụHãy xem xét bảng CUSTOMERS có các bản ghi sau đây: +----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Ha Noi | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+ Câu lệnh trong ví dụ sau sẽ xóa một khách hàng có ID là 6. DELETE FROM CUSTOMERS WHERE ID = 6; Bây giờ, bảng CUSTOMERS sẽ có các bản ghi sau đây. Nếu bạn muốn DELETE tất cả các bản ghi từ bảng CUSTOMERS, bạn không cần phải sử dụng mệnh đề WHERE và truy vấn DELETE sẽ như sau: Bây giờ, bảng CUSTOMERS sẽ không có bất kỳ bản ghi nào. Từ khóa XÓA là gì?Lệnh XÓA MySQL được sử dụng để xóa các hàng không còn cần thiết từ các bảng cơ sở dữ liệu. Nó xóa toàn bộ hàng khỏi bảng và trả về số hàng đã xóa. Lệnh Xóa có ích để xóa dữ liệu tạm thời hoặc lỗi thời khỏi cơ sở dữ liệu của bạn. Lệnh DELETE có thể xóa nhiều hơn một hàng khỏi một bảng trong một truy vấn duy nhất. Điều này chứng tỏ là lợi thế khi loại bỏ số lượng lớn các hàng khỏi bảng cơ sở dữ liệu. Khi một hàng đã bị xóa, nó không thể được phục hồi. Do đó, rất nên thực hiện sao lưu cơ sở dữ liệu trước khi xóa bất kỳ dữ liệu nào khỏi cơ sở dữ liệu. Điều này có thể cho phép bạn khôi phục cơ sở dữ liệu và xem dữ liệu sau này nếu cần. Xóa cú pháp lệnhCú pháp cơ bản của lệnh xóa như dưới đây. DELETE FROM `table_name` [WHERE condition]; ĐÂY
Nếu mệnh đề WHERE không được sử dụng trong truy vấn XÓA, thì tất cả các hàng trong một bảng đã cho sẽ bị xóa. Trước khi chúng ta đi vào chi tiết thảo luận về lệnh XÓA, hãy chèn một số dữ liệu mẫu vào bảng phim để làm việc. INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8); INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8); Thực hiện kịch bản trên sẽ thêm ba (3) phim vào bảng phim. Trước khi chúng ta đi sâu hơn vào bài học của mình, chúng ta hãy lấy tất cả các bộ phim trong bảng của chúng tôi. Kịch bản hiển thị dưới đây làm điều đó. SELECT * FROM `movies`; Thực hiện đoạn script trên cho chúng ta kết quả như sau.
Giả sử rằng thư viện video Myflix không còn muốn thuê "Nhà độc tài vĩ đại" cho các thành viên của mình và họ muốn xóa nó khỏi cơ sở dữ liệu. Id phim của nó là 18, chúng ta có thể sử dụng tập lệnh hiển thị bên dưới để xóa hàng của nó khỏi bảng phim. DELETE FROM `movies` WHERE `movie_id` = 18; Thực thi đoạn script trên trong MySQL WorkBench chống lại Myflix sẽ xóa phim với id 18 khỏi bảng cơ sở dữ liệu. Chúng ta hãy xem trạng thái hiện tại của bảng phim. SELECT * FROM `movies`; kết quả như sau
CHÚ THÍCH:
Giả sử chúng ta có một danh sách các bộ phim mà chúng ta muốn xóa. Chúng ta có thể sử dụng mệnh đề WHERE cùng với IN. DELETE FROM `movies` WHERE `movie_id` IN (20,21); Thực thi đoạn script trên sẽ xóa phim có ID 20 và 21 khỏi bảng phim của chúng tôi. QUY TẮC UPDATE LÀ GÌ?Lệnh Update được sử dụng để sửa đổi các hàng trong bảng. Lệnh cập nhật có thể được sử dụng để cập nhật một trường hoặc nhiều trường cùng một lúc. Nó cũng có thể được sử dụng để cập nhật một bảng với các giá trị từ một bảng khác. Cú pháp cơ bản của lệnh SQL Update là như dưới đây. UPDATE `table_name` SET `column_name` = `new_value' [WHERE condition]; ĐÂY
Bây giờ chúng ta hãy xem một ví dụ thực tế cập nhật dữ liệu trong bảng thành viên. Giả sử rằng số thành viên 1 và 2 của thành viên của chúng tôi có các cập nhật sau đây sẽ được thực hiện cho hồ sơ dữ liệu của họ.
Chúng tôi sẽ bắt đầu với việc cập nhật cho thành viên số 1 trước khi chúng tôi thực hiện bất kỳ cập nhật nào cho dữ liệu của mình, hãy truy xuất bản ghi cho số thành viên 1. Tập lệnh hiển thị bên dưới giúp chúng tôi thực hiện điều đó. SELECT * FROM `members` WHERE `membership_number` = 1; Thực hiện đoạn script trên cho chúng ta kết quả như sau.
Bây giờ chúng ta hãy cập nhật số liên lạc bằng cách sử dụng tập lệnh hiển thị bên dưới. UPDATE `members` SET `contact_number` = '0759 253 542' WHERE `membership_number` = 1; Thực hiện tập lệnh trên cập nhật số liên lạc từ 999 đến 0759 253 532 cho số thành viên 1. Bây giờ chúng ta hãy xem bản ghi cho thành viên số 1 sau khi thực hiện tập lệnh cập nhật. SELECT * FROM `members` WHERE `membership_number` = 1; Thực hiện đoạn script trên cho chúng ta kết quả như sau.
Bây giờ chúng ta hãy xem các bản cập nhật cần thiết cho thành viên số 2.
Kịch bản sau đây giúp chúng tôi làm điều đó. UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2; Thực hiện đoạn script trên trong việc cập nhật tên đầy đủ cho thành viên số 2 thành Janet Smith Jones và địa chỉ vật lý cho Melrose 123.
Tóm lược
|