Xóa mysql

Cũng giống như bạn chèn bản ghi vào bảng, bạn có thể xóa bản ghi khỏi bảng bằng câu lệnh SQL DELETE. Nó thường được sử dụng trong phép liên kết với định mệnh WHERE để chỉ xóa những bản ghi phù hợp với tiêu chí hoặc điều kiện cụ thể

Cú pháp cơ bản của lệnh DELETE

DELETEFROMtable_nameWHEREcolumn_name=some_value

Hãy tạo một truy vấn SQL bằng cách sử dụng câu lệnh DELETE và mệnh đề WHERE, sau đó chúng ta sẽ thực hiện truy vấn này thông qua việc chuyển nó đến hàm

6 để xóa các bảng ghi. Vui lòng xem bảng đánh giá người sau bên trong bản demo cơ sở dữ liệu

+----+------------+-----------+----------------------+
| id | first_name | last_name | email                |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | peterparker@mail.com |
|  2 | John       | Rambo     | johnrambo@mail.com   |
|  3 | Clark      | Kent      | clarkkent@mail.com   |
|  4 | John       | Carter    | johncarter@mail.com  |
|  5 | Harry      | Potter    | harrypotter@mail.com |
+----+------------+-----------+----------------------+

Mã PHP trong ví dụ sau sẽ xóa bản ghi của những người đó khỏi bảng người có first_name đầu tiên bằng John

process

Hướng đối tượng

connect_error];
}
 
// Attempt delete query execution
$sql = "DELETE FROM persons WHERE first_name='John'";
if[$mysqli->query[$sql] === true]{
    echo "Records were deleted successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . $mysqli->error;
}
 
// Close connection
$mysqli->close[];
?>

PDO

setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
} catch[PDOException $e]{
    die["ERROR: Could not connect. " . $e->getMessage[]];
}
 
// Attempt update query execution
try{
    $sql = "DELETE FROM persons WHERE first_name='John'";  
    $pdo->exec[$sql];
    echo "Records were deleted successfully.";
} catch[PDOException $e]{
    die["ERROR: Could not able to execute $sql. " . $e->getMessage[]];
}
 
// Close connection
unset[$pdo];
?>

Sau khi xóa, bảng người sẽ trông giống như sau

+----+------------+-----------+----------------------+
| id | first_name | last_name | email                |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | peterparker@mail.com |
|  3 | Clark      | Kent      | clarkkent@mail.com   |
|  5 | Harry      | Potter    | harrypotter@mail.com |
+----+------------+-----------+----------------------+

Như bạn có thể thấy, các bản ghi đã bị xóa thành công khỏi bảng người

Cảnh báo. Mệnh đề WHERE in command DELETE quy định cụ thể bản ghi sẽ bị xóa. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi sẽ bị xóa

Lệnh Delete hữu ích để xóa dữ liệu tạm thời hoặc lỗi thời gian 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 hàng hóa khỏi bảng cơ sở dữ liệu.

Khi một hàng đã bị xóa, nó không thể phục hồi. Làm điều đó, 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 chỉnh 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.


Delete the command

Cú pháp cơ bản của lệnh xóa như dưới đây

DELETE FROM `table_name` [WHERE condition];

name

  • XÓA TỪ `tên_bảng`  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 hóa 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 đã chọn 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 để thực hiện công 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];

Kịch bản thực tế 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 ta. 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_iditledirectoryear_releasedcategory_id1Pirates of the Caribean 4Rob Marshall201112Forgetting Sarah MarshalNicholas Stoller200823X-MenNULL2008NULL4Code Name BlackEdgar Jimz2010NULL5Daddy's Little GirlsNULL200786Angels and DemonsNULL200767Davinci CodeNULL200769Honey moonersJohn Schultz200581667% GuiltyNULL2012NULL18The Great DictatorChalie Chaplie1920719sample movieAnonymousNULL820movie 3John Brown19208

 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.

________số 8

Thực thi đoạn script trên trong MySQL WorkBench antiback Myflix sẽ xóa phim có 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`;

results as after

movie_idtitledirectoryear_releasedcategory_id1Pirates of the Caribean 4Rob Marshall201112Forgetting Sarah MarshalNicholas Stoller200823X-MenNULL2008NULL4Code Name BlackEdgar Jimz2010NULL5Daddy's Little GirlsNULL200786Angels and DemonsNULL200767Davinci CodeNULL200769Honey moonersJohn Schultz200581667% GuiltyNULL2012NULL19sample movieAnonymousNULL820movie 3John Brown19208


ích

  • phim có id 18 chưa được trả lại trong kết quả truy vấn tập tin
  • 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.

0

Thực thi đoạn mã 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ẬP NHẬT cú pháp lệnh

Cú pháp cơ bản của lệnh SQL Update như dưới đây

1

name

  • 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 do truy vấn cập nhật. Lưu ý, khi đặt giá trị cập nhật, các chuỗi dữ liệu kiểu phải nằm trong lệnh trích xuất. Các giá trị tham số không cần thiết 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 hóa bị ảnh hưởng bởi truy vấn CẬP NHẬT.

Hiện tại 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 chúng tôi có những cập nhật sau đây sẽ được thực hiện cho hồ sơ dữ liệu của họ.

Số thành viênYêu cầu cập nhật1Đã thay đổi số liên lạc từ 999 thành 0759 253 5322Đổi tên thành Janet Smith Jones và địa chỉ thực phải được cập nhật thành 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 cập bản ghi cho thành viên số 1. Lệnh hiển thị bên dưới giúp chúng tôi thực hiện điều đó

2

Thực hiện đoạn script trên cho chúng ta kết quả như sau

embership_numberhọ_têngiới tínhngày_sinhđịa_chỉ_thựcpostal_addresscontct_numberemail1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag999janetjones@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

3

Thực hiện lệnh tập tin cập nhật liên lạc số 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 lệnh cập nhật tập tin

2

Thực hiện đoạn script trên cho chúng ta kết quả như sau

số_thành_viênhọ_têngiới tínhngày_sinhđịa_chỉ_thựcpostal_addresscontct_numberemail1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542janetjones@yagoo.cm

Hiện tại 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.

số_thành_viênhọ_têngiới tínhngày_sinhđịa_chỉ_thựcpostal_addresscontct_numberemail2Smith JonesFemale23-06-1980Park StreetNULLNULLjj@fstreet.com

Ghi chép sau đây giúp chúng tôi làm điều đó

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];
0

Thực hiện đoạn mã hiện tại trong quá trình 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

số_thành_viênhọ_têngiới tínhngày_sinhđịa_chỉ_thựcpostal_addresscontct_numberemail2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLjj@fstreet.com

Tóm tắt

  • 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 hóa 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

Chủ Đề