Hướng dẫn dùng drop db trong PHP

Delete dữ liệu trong Database bằng PHP

Nội Dung

  • 1. Lệnh Delete là gì?
  • 2. Delete dữ liệu với MySQLi
    • 2.1. Sử dụng MySQLi hướng thủ tục
    • 2.2. Sử dụng MySQLi hướng đối tượng
  • 3. Delete dữ liệu với PDO

Trong môn anh ngữ mà ta học thì delete có nghĩa là xóa hay trên bàn phím máy tính mà ta đang sử dụng thì delete cũng có chức năng là xóa. Và ở bài này, câu lệnh delete cũng dùng để xóa các record trong MySQL. Như các bạn thấy và sử dụng nhiều trên các ứng dụng thực tế các tính năng như xóa bài viết, xóa comment hay xóa ảnh,… Đây chính là lý do vì sao mà lệnh này hay được dùng trong backend để xóa các tin tức, sản phẩm, chuyên mục,…

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 DELETE và nó thường được sử dụng trong phép liên hợp với 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ùng với đó thường trong những ứng dụng website thì ta sẽ delete theo khóa chính vì khóa chính tự động tăng, việc truy vấn hay thao tác sẽ nhanh hơn rất nhiều[đây chính là những tiêu chí và điều kiện cụ thể ở trên]. Vì vậy mà nếu không sử dụng Where thì có thể nó sẽ xóa hết dữ liệu của chúng ta. Vì vậy mà các bạn hãy thật lưu ý việc kiểm tra điều kiện trước khi thực hiện câu lệnh này.

Cú pháp cơ bản của câu lệnh Delete:

DELETE FROM table_name
WHERE some_columns = some_values

2. Delete dữ liệu với MySQLi

Đầu tiên 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 mysqli_query[] để xóa các bản ghi bảng. Hãy xem xét bảng persons sau bên trong cơ sở dữ liệu db_lttd:

IDNameAgeAddressSalary1Thành17Hà Nội4000$2Nam21Đà Nẵng6400$3Sơn18Cà Mau3200$4Hòa20Phúc Thọ5000$

2.1. Sử dụng MySQLi hướng thủ tục

// khởi tạo kết nối
$connect = mysqli_connect['localhost', 'root', '', 'db_lttd'];
//Kiểm tra kết nối
if [!$connect] {
    die['kết nối không thành công ' . mysqli_connect_error[]];
}
//câu truy vấn xóa bản ghi có id=1
$sql = "DELETE FROM tbl_news WHERE id = 1";
//kiểm tra
if [mysqli_query[$connect, $sql]]
    //Thông báo nếu thành công
    echo 'Xóa thành công';
else
    //Hiện thông báo khi không thành công
    echo 'Không thành công. Lỗi' . mysqli_error[$connect];
//ngắt kết nối
mysqli_close[$connect];

2.2. Sử dụng MySQLi hướng đối tượng

// khởi tạo kết nối
$connect = new mysqli['localhost', 'root', '', 'db_lttd'];
//Kiểm tra kết nối
if [$connect->connect_error] {
    die['kết nối không thành công ' . $connect->connect_error];
}
//câu truy vấn xóa bản ghi có id=1
$sql = "DELETE FROM tbl_news WHERE id = 5";
//kiểm tra
if [$connect->query[$sql] === TRUE]
    //Thông báo nếu thành công
    echo 'Xóa thành công';
else
    //Hiện thông báo khi không thành công
    echo 'Không thành công. Lỗi' . $connect->error;
//ngắt kết nối
$connect->close[];

3. Delete dữ liệu với PDO

try {
    // khởi tạo kết nối
    $connect = new PDO['mysql:host=localhost;dbname=db_lttd', 'root', ''];
    $connect->setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
    //Câu truy vấn
    $sql = "DELETE FROM tbl_news WHERE id = 6";
    //thực hiện truy vấn
    $connect->exec[$sql];
    echo 'Thành công';
} catch [PDOException $e] {
    //thất bại
    die[$e->getMessage[]];
}

Trong bài này, chúng ta sẽ tìm hiểu về cách delete row trong table với PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Các ví dụ delete dữ liệu sẽ thực hiện trên table gochocit_posts trong database gochocit. Database và table này đã được tạo trong bài Tạo database và tạo table trong MySQL với PHP. Các bạn cần đọc lại để xem cấu trúc của database và table trên.

Chúng ta có thể xóa [delete] những dòng dữ liệu trong table với câu lệnh “DELETE FROM”. Nếu muốn xóa tất cả row trong table thì sử dụng câu lệnh DELETE FROM table_name. Ví dụ, DELETE FROM gochocit_posts.

Nếu muốn xóa một row cụ thể trong table thì cần sử dụng thêm câu lệnh WHERE. Ví dụ: DELETE FROM gochocit_posts WHERE ID=1. Khi thực thi câu lệnh này, row có field ID=1 sẽ bị xóa khỏi table.

1. Xóa [delete] row trong table sử dụng MySQLi [object-oriented]

Câu lệnh DELETE FROM được thực thi khi đối tượng mysqli$conn gọi hàm query[]. Nếu câu lệnh SQL thực thi thành công và delete được dữ liệu thì hàm query[] sẽ trả về TRUE, ngược lại FALSE.


2. Xóa [delete] row trong table sử dụng MySQLi [procedural]

Kỹ Câu lệnh DELETE FROM được thực thi khi gọi hàm mysqli_query[]. Nếu câu lệnh SQL thực thi thành công và delete được dữ liệu thì hàm mysqli_query[] sẽ trả về TRUE, ngược lại FALSE.


3. Xóa [delete] row trong table sử dụng PDO [PHP Data Objects]

Câu lệnh DELETE FROM được thực thi khi đối tượng PDO$conn gọi hàm exec[]. Nếu câu lệnh SQL thực thi thành công và delete được dữ liệu thì hàm exec[] không gây ra exception. Ngược lại, hàm exec[] sẽ gây ra exception.


Sau khi xóa các record xong, các bạn sử dụng công cụ phpMyAdmin để xem các row trong table gochocit_posts. Các bạn đọc lại phần Kết nối đến một database cụ thể trong MySQL để xem cách sử dụng công cụ phpMyAdmin.

  • Phương thức tĩnh [static method] và thuộc tính tĩnh [static property] trong PHP
  • Tạo database và tạo table trong MySQL với Python
  • Truyền tham trị và truyền tham chiếu cho hàm trong C++
  • Thêm [insert] nhiều record dữ liệu trong MySQL với PHP
  • 6 bước xây dựng một chương trình máy tính

PHP programming web programming

Bài Viết Liên Quan

Chủ Đề