Mệnh đề WHERE trong MariaDB
Mệnh đề WHERE được sử dụng để lọc dữ liệu trong các câu lệnh như SELECT, UPDATE, DELETE, và INSERT. Nó giúp xác định điều kiện cụ thể để thao tác trên dữ liệu. Mệnh đề WHERE thường được đặt ngay sau tên bảng trong một câu lệnh SQL. Về cơ bản, WHERE hoạt động giống như một câu lệnh điều kiện if trong lập trình.

Cú pháp chung của mệnh đề WHERE trong MariaDB
[COMMAND] field1, field2, ... FROM table_name1, table_name2, ... WHERE [CONDITION]
Trong đó:
[COMMAND]là lệnh SQL nhưSELECT,UPDATE,DELETE,INSERT.field1, field2, ...là danh sách các cột được chọn hoặc thao tác.table_name1, table_name2, ...là các bảng chứa dữ liệu.[CONDITION]là điều kiện lọc dữ liệu.
Các đặc điểm của mệnh đề WHERE trong MariaDB
- Không bắt buộc phải có trong câu lệnh SQL.
- Cho phép sử dụng bất kỳ điều kiện nào để lọc dữ liệu.
- Hỗ trợ nhiều điều kiện, có thể kết hợp bằng các toán tử
AND,OR. - Phân biệt chữ hoa - chữ thường khi sử dụng với
LIKE. - Hỗ trợ nhiều toán tử so sánh, bao gồm:
=(bằng)!=hoặc<>(khác)>(lớn hơn)<(nhỏ hơn)>=(lớn hơn hoặc bằng)<=(nhỏ hơn hoặc bằng)
Sử dụng WHERE trên giao diện dòng lệnh MariaDB
Khi làm việc trực tiếp trên giao diện dòng lệnh, bạn có thể sử dụng mệnh đề WHERE như sau:
root@host# mysql -u root -p Enter password: ******* mysql> USE PRODUCTS; Database changed mysql> SELECT * FROM products_tbl WHERE product_manufacturer = 'XYZ Corp';
Kết quả truy vấn sẽ trả về danh sách các sản phẩm của nhà sản xuất 'XYZ Corp':
Bài viết này được đăng tại [free tuts .net]
+-------------+----------------+----------------------+ | ID_number | Nomenclature | product_manufacturer | +-------------+----------------+----------------------+ | 12345 | Orbitron 4000 | XYZ Corp | | 12346 | Orbitron 3000 | XYZ Corp | | 12347 | Orbitron 1000 | XYZ Corp | +-------------+----------------+----------------------+
Sử dụng điều kiện kết hợp AND và OR trong MariaDB
Bạn có thể kết hợp nhiều điều kiện trong WHERE bằng các toán tử AND hoặc OR.
Ví dụ với AND:
SELECT * FROM products_tbl WHERE product_name = 'Bun Janshu 3000' AND product_id <= 344;
Ví dụ kết hợp cả AND và OR:
SELECT * FROM products_tbl WHERE (product_name = 'Bun Janshu 3000' AND product_id < 344) OR (product_name = 'Bun Janshu 3000');
Sử dụng WHERE trong PHP trong MariaDB
Trong PHP, bạn có thể sử dụng mệnh đề WHERE khi truy vấn dữ liệu từ MariaDB thông qua hàm mysql_query().
Ví dụ:
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn) {
die('Không thể kết nối: ' . mysql_error());
}
$sql = 'SELECT product_id, product_name, product_manufacturer, ship_date
FROM products_tbl
WHERE product_manufacturer = "XYZ Corp"';
mysql_select_db('PRODUCTS');
$retval = mysql_query($sql, $conn);
if (!$retval) {
die('Không thể lấy dữ liệu: ' . mysql_error());
}
while ($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "Mã sản phẩm: {$row['product_id']} <br> ".
"Tên sản phẩm: {$row['product_name']} <br> ".
"Nhà sản xuất: {$row['product_manufacturer']} <br> ".
"Ngày giao hàng: {$row['ship_date']} <br> ".
"--------------------------------<br>";
}
echo "Lấy dữ liệu thành công\n";
mysql_close($conn);
?>
Giải thích:
- Kết nối đến MariaDB bằng tài khoản
root. - Chọn cơ sở dữ liệu
PRODUCTS. - Chạy truy vấn SQL để lấy dữ liệu từ bảng
products_tblvới điều kiệnproduct_manufacturer = "XYZ Corp". - Lặp qua kết quả và hiển thị thông tin sản phẩm.
- Đóng kết nối đến MariaDB.
Kết quả hiển thị trên trình duyệt khi chạy file PHP:
Mã sản phẩm: 12345 Tên sản phẩm: Orbitron 4000 Nhà sản xuất: XYZ Corp Ngày giao hàng: 01/01/17 -------------------------------- Mã sản phẩm: 12346 Tên sản phẩm: Orbitron 3000 Nhà sản xuất: XYZ Corp Ngày giao hàng: 01/02/17 -------------------------------- Mã sản phẩm: 12347 Tên sản phẩm: Orbitron 1000 Nhà sản xuất: XYZ Corp Ngày giao hàng: 01/02/17 -------------------------------- Lấy dữ liệu thành công
Lưu ý: Mã PHP trên sử dụng hàm mysql_*, nhưng các hàm này đã bị loại bỏ trong phiên bản PHP 7 trở đi. Thay vào đó, bạn nên sử dụng mysqli_* hoặc PDO để làm việc với MariaDB an toàn hơn.

Thiết lập ID tăng tự động với Identity trong SQL Server
Khóa ngoại (Foreign Key) trong MySQL
Mô hình thực thể mối kết hợp (ER)
Gộp dữ liệu với UNION và UNION ALL trong SQL
Hàm Hàm TO_DATE trong Oracle
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng