Làm cách nào để xóa dữ liệu trong MySQL?

Nếu bạn muốn xóa một bản ghi khỏi bất kỳ bảng MySQL nào, thì bạn có thể sử dụng lệnh SQL DELETE FROM. Bạn có thể sử dụng lệnh này tại dấu nhắc mysql> cũng như trong bất kỳ tập lệnh nào như PHP

cú pháp

Khối mã sau đây có cú pháp SQL chung của lệnh DELETE để xóa dữ liệu khỏi bảng MySQL

DELETE FROM table_name [WHERE Clause]
  • Nếu mệnh đề WHERE không được chỉ định, thì tất cả các bản ghi sẽ bị xóa khỏi bảng MySQL đã cho

  • Bạn có thể chỉ định bất kỳ điều kiện nào bằng mệnh đề WHERE

  • Bạn có thể xóa các bản ghi trong một bảng tại một thời điểm

Mệnh đề WHERE rất hữu ích khi bạn muốn xóa các hàng đã chọn trong bảng

Xóa dữ liệu khỏi Dấu nhắc Lệnh

Điều này sẽ sử dụng lệnh SQL DELETE với mệnh đề WHERE để xóa dữ liệu đã chọn vào bảng MySQL – tutorials_tbl

Ví dụ

Ví dụ sau sẽ xóa một bản ghi khỏi tutorial_tbl có tutorial_id là 3

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> DELETE FROM tutorials_tbl WHERE tutorial_id=3;
Query OK, 1 row affected (0.23 sec)

mysql>

Xóa dữ liệu bằng PHP Script

PHP sử dụng hàm mysqli query() hoặc mysql_query() để xóa các bản ghi trong bảng MySQL. Hàm này nhận hai tham số và trả về TRUE nếu thành công hoặc FALSE nếu thất bại

cú pháp

$mysqli->query($sql,$resultmode)
Sr. Không. Tham số và Mô tả

$sql

Bắt buộc - Truy vấn SQL để xóa bản ghi trong bảng MySQL

2

$resultmode

Tùy chọn - Hằng số MYSQLI_USE_RESULT hoặc MYSQLI_STORE_RESULT tùy thuộc vào hành vi mong muốn. Theo mặc định, MYSQLI_STORE_RESULT được sử dụng

Ví dụ

Hãy thử ví dụ sau để xóa một bản ghi trong bảng -

Sao chép và dán ví dụ sau vào mysql_example. php −

   
      Deleting MySQL Table record
   
   
      connect_errno ) {
            printf("Connect failed: %s
", $mysqli->connect_error); exit(); } printf('Connected successfully.
'); if ($mysqli->query('DELETE FROM tutorials_tbl where tutorial_id = 4')) { printf("Table tutorials_tbl record deleted successfully.
"); } if ($mysqli->errno) { printf("Could not delete record from table: %s
", $mysqli->error); } $sql = "SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl"; $result = $mysqli->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { printf("Id: %s, Title: %s, Author: %s, Date: %d
", $row["tutorial_id"], $row["tutorial_title"], $row["tutorial_author"], $row["submission_date"]); } } else { printf('No record found.
'); } mysqli_free_result($result); $mysqli->close(); ?>

đầu ra

Truy cập mysql_example. php được triển khai trên máy chủ web apache và xác minh đầu ra. Ở đây chúng tôi đã nhập nhiều bản ghi vào bảng trước khi chạy tập lệnh chọn

Lệnh Xóa MySQL được sử dụng để xóa các hàng không còn cần thiết khỏi 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ố lượng 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

Truy vấn Xóa trong MySQL có thể xóa nhiều hàng khỏi một bảng trong một truy vấn. Điều này chứng tỏ là lợi thế khi xóa số lượng lớn hàng khỏi bảng cơ sở dữ liệu

Khi một hàng Xóa trong hàng MySQL đã bị xóa, nó không thể khôi phục được. Do đó, chúng tôi khuyên bạn nê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

Cách xóa một hàng trong MySQL

Để xóa một hàng trong MySQL, câu lệnh DELETE FROM được sử dụng

DELETE FROM `table_name` [WHERE condition];

ĐÂY

  • XÓA TỪ `tên_bảng` yêu cầu máy chủ MySQL xóa các hàng khỏi bảng
  • [Điều kiện WHERE] là tùy chọn và được sử dụng để đặt bộ lọc hạn chế số lượng hàng bị ảnh hưởng bởi cú pháp DELETE truy vấn hàng MySQL

Nếu mệnh đề WHERE không được sử dụng trong truy vấn DELETE của MySQL, thì tất cả các hàng trong một bảng nhất định sẽ bị xóa

Ví dụ về truy vấn xóa MySQL

Trước khi thảo luận chi tiết hơn về câu lệnh SQL DELETE, hãy chèn một số dữ liệu mẫu vào bảng phim để làm việc với

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 thi đoạn mã 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, 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ị bên dưới thực hiện điều đó

SELECT * FROM `movies`;

Thực thi đoạn script trên cho chúng ta 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










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 cho các thành viên thuê “The Great Dictator” nữa 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 khỏi bảng Ví dụ về MySQL

________số 8_______

Thực thi tập lệnh trên trong MySQL WorkBench đối với Myflix sẽ xóa phim có id 18 khỏi bảng cơ sở dữ liệu

Làm cách nào tôi có thể XÓA dữ liệu khỏi cơ sở dữ liệu?

Mở rộng Cơ sở dữ liệu, bấm chuột phải vào cơ sở dữ liệu để xóa tệp, rồi bấm Thuộc tính. Chọn trang Tệp. Trong lưới Tệp cơ sở dữ liệu, chọn tệp cần xóa rồi nhấp vào Xóa

Làm cách nào để xóa tất cả dữ liệu trong bảng trong MySQL?

Câu lệnh TRUNCATE TABLE được sử dụng để xóa tất cả các bản ghi khỏi một bảng trong MySQL. Nó thực hiện chức năng tương tự như câu lệnh DELETE không có mệnh đề WHERE. Cảnh báo. Nếu bạn cắt bớt một bảng, câu lệnh TRUNCATE TABLE không thể được khôi phục.

Lệnh SQL để xóa dữ liệu là gì?

Câu lệnh DELETE được sử dụng để xóa các bản ghi hiện có trong một bảng.