MySQL - Truy vấn DELETE

Nếu bạn muốn xóa 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 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 Command Prompt

Thao tác 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.

Thí 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

Bạn có thể sử dụng lệnh SQL DELETE có hoặc không có WHERE CLAUSE trong hàm PHP - mysql_query(). Hàm này sẽ thực thi lệnh SQL giống như cách nó được thực thi tại dấu nhắc mysql>.

Thí dụ

Hãy thử ví dụ sau để xóa một bản ghi khỏi tutorial_tbl có tutorial_id là 3.

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'DELETE FROM tutorials_tbl WHERE tutorial_id = 3';

   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not delete data: ' . mysql_error());
   }
   echo "Deleted data successfully\n";
   mysql_close($conn);
?>