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ệnh
Cú pháp cơ bản của lệnh xóa như dưới đây.
DELETE FROM `table_name` [WHERE condition];
ĐÂY
- DELETE FROM `table_name` bảo máy chủ MySQL xóa các hàng khỏi bảng ..
- [WHERE condition] là tùy chọn và được sử dụng để đặt bộ lọc giới hạn số lượng hàng bị ảnh hưởng bởi truy vấn DELETE.
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.
movie_id | itle | director | year_released | category_id |
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
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
movie_id | title | director | year_released | category_id |
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
CHÚ THÍCH:
- phim có id 18 chưa được trả về trong tập kết quả truy vấn.
- bạn không thể xóa một cột duy nhất cho một bảng. Bạn có thể xóa toàn bộ một hàng.
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.
UPDATE cú pháp lệnh
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
- UPDATE `table_name` là lệnh yêu cầu MySQL cập nhật dữ liệu trong bảng.
- SET `column_name` = `new_value' là tên và giá trị của các trường bị ảnh hưởng bởi truy vấn cập nhật. Lưu ý, khi đặt giá trị cập nhật, các kiểu dữ liệu chuỗi phải nằm trong dấu ngoặc đơn. Giá trị số không cần phải nằm trong dấu ngoặc kép. Kiểu dữ liệu ngày phải ở trong dấu ngoặc đơn và ở định dạng 'YYYY-MM-DD'.
- [WHERE condition] là tùy chọn và có thể được sử dụng để đặt bộ lọc giới hạn số lượng hàng bị ảnh hưởng bởi truy vấn CẬP NHẬT.
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ọ.
Membership number | Updates required |
1 | Changed contact number from 999 to 0759 253 532 |
2 | Change the name to Janet Smith Jones and physical address should be updated to Melrose 123 |
| |
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.
embership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | email |
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 999 | janetjones@yagoo.cm
|
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.
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | email |
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
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.
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | email |
2 | Smith Jones | Female | 23-06-1980 | Park Street | NULL | NULL | jj@fstreet.com |
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.
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | email |
2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
Tóm lược
- Lệnh xóa được sử dụng để xóa dữ liệu không còn cần thiết từ bảng.
- "Mệnh đề WHERE" được sử dụng để giới hạn số lượng hàng bị ảnh hưởng bởi truy vấn DELETE.
- Khi dữ liệu đã bị xóa, nó không thể được phục hồi, do đó chúng tôi khuyên bạn nên sao lưu trước khi xóa dữ liệu.
- Lệnh cập nhật được sử dụng để sửa đổi dữ liệu hiện có.
- "Mệnh đề WHERE" được sử dụng để giới hạn số lượng hàng bị ảnh hưởng bởi truy vấn CẬP NHẬT.
Đăng nhận xét