AZCode.vn AZCode

Truy vấn DELETE trong MySQL

Nếu bạn muốn xóa một bản ghi từ bất cứ bảng MySQl nào, thì bạn có thể sử dụng lệnh DELETE FROM trong SQL.

Cú pháp

Cú pháp SQL chung của lệnh DELETE để xóa dữ liệu từ một bảng MySQL là:

DELETE FROM ten_bang [Menhde WHERE]
  • Nếu mệnh đề WHERE không được xác định, thì tất cả bản ghi sẽ bị xóa từ bảng MySQL đã cho.

  • Bạn có thể xác định bất kỳ điều kiện nào với mệnh đề WHERE.

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

Mệnh đề WHERE là thực sự hữu ích khi bạn muốn xóa các hàng đã chọn trong một bảng. Nếu không xác định mệnh đề WHERE thì thật sự rất nguy hiểm bởi vì toàn bộ bảng của bạn sẽ bị xóa. Do đó bạn phải thật cẩn thận khi sử dụng lệnh này.

Xóa dữ liệu trong MySQL

Ví dụ sau sẽ xóa một bản ghi trong bảng sinhvienk60 có mssv là 4.

DELETE FROM sinhvienk60 WHERE mssv=4;

Bây giờ, nếu bạn sử dụng lệnh SELECT với bảng trên:

SELECT * FROM sinhvienk60;

Thì kết quả là bản ghi có mssv=4 đã bị xóa và trong bảng sinhvienk60 của chúng ta chỉ còn lại 3 bản ghi.

Truy vấn DELETE trong MySQL

Xóa dữ liệu bởi sử dụng PHP Script

Bạn có thể sử dụng lệnh DELETE với hoặc không với mệnh đề WHERE trong hàm PHP là mysql_query(). Hàm này sẽ thực thi lệnh SQL theo cách tương tự như tại dòng nhắc mysql>.

Ví dụ

Ví dụ sau để xóa một bản ghi từ bảng sinhvienk60 có mssv là 4:

<?php
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = '123456';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Khong the ket noi: ' . mysql_error());
}
$sql = 'DELETE FROM sinhvienk60
        WHERE mssv=4';

mysql_select_db('sinhvien');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Khong the xoa du lieu: ' . mysql_error());
}
echo "Xoa du lieu thanh cong\n";
mysql_close($conn);
?>

Các bài học MySQL phổ biến khác tại AZCode: