MariaDB - Xóa truy vấn
Lệnh DELETE xóa các hàng trong bảng khỏi bảng được chỉ định và trả về số lượng đã xóa. Truy cập số lượng đã xóa bằng hàm ROW_COUNT (). Mệnh đề WHERE chỉ định các hàng và nếu thiếu nó, tất cả các hàng sẽ bị xóa. Mệnh đề LIMIT kiểm soát số hàng bị xóa.
Trong câu lệnh DELETE cho nhiều hàng, nó chỉ xóa những hàng thỏa mãn một điều kiện; và các mệnh đề LIMIT và WHERE không được phép. Câu lệnh DELETE cho phép xóa các hàng khỏi bảng trong các cơ sở dữ liệu khác nhau, nhưng không cho phép xóa khỏi một bảng và sau đó chọn từ cùng một bảng trong một truy vấn con.
Xem lại cú pháp DELETE sau -
DELETE FROM table_name [WHERE …]
Thực thi lệnh DELETE từ dấu nhắc lệnh hoặc sử dụng tập lệnh PHP.
Dấu nhắc lệnh
Tại dấu nhắc lệnh, chỉ cần sử dụng một lệnh chuẩn:
root@host# mysql –u root –p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed
mysql> DELETE FROM products_tbl WHERE product_id=133;
mysql> SELECT * from products_tbl WHERE ID_number='133';
ERROR 1032 (HY000): Can't find record in 'products_tbl'
Tập lệnh xóa truy vấn PHP
Sử dụng mysql_query() hàm trong các câu lệnh DELETE -
<?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 products_tbl WHERE product_id = 261';
mysql_select_db('PRODUCTS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not delete data: ' . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($conn);
?>
Khi xóa dữ liệu thành công, bạn sẽ thấy kết quả sau:
mysql> Deleted data successfully
mysql> SELECT * from products_tbl WHERE ID_number='261';
ERROR 1032 (HY000): Can't find record in 'products_tbl'