Mệnh đề WHERE trong MariaDB
Trong bài viêt này, mình sẽ tìm hiểu cách sử dụng mệnh đề WHERE để lọc dữ liệu trong các câu lệnh như SELECT, UPDATE, DELETE, và INSERT. Mệnh đề WHERE giúp xác định điều kiện lọc các bản ghi. Nó thường xuất hiện sau tên bảng trong câu lệnh và hoạt động tương tự như câu lệnh if trong lập trình.
Cú pháp tổng quát của mệnh đề WHERE trong MariaDB
[COMMAND] field1, field2, ... FROM table_name1, table_name2, ... WHERE [CONDITION]
Đặc điểm của mệnh đề WHERE
- Tùy chọn: Không bắt buộc phải có trong câu lệnh.
- Điều kiện: Cho phép bạn chỉ định bất kỳ điều kiện nào.
- Kết hợp nhiều điều kiện: Có thể sử dụng các toán tử AND và OR để kết hợp.
- Phân biệt chữ hoa và chữ thường: Chỉ áp dụng khi dùng với so sánh bằng LIKE.
Các toán tử được hỗ trợ trong WHERE
Toán tử | Ý nghĩa |
---|---|
=, != | Bằng, không bằng |
>, < | 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 mệnh đề WHERE trong dòng lệnh trong MariaDB
Tại dòng lệnh, bạn có thể chạy một câu lệnh cơ bản như sau:
root@host# mysql -u root -p password; Enter password:******* mysql> use PRODUCTS; Database changed mysql> SELECT * FROM products_tbl WHERE product_manufacturer = 'XYZ Corp'; +-------------+----------------+----------------------+ | ID_number | Nomenclature | product_manufacturer | +-------------+----------------+----------------------+ | 12345 | Orbitron 4000 | XYZ Corp | | 12346 | Orbitron 3000 | XYZ Corp | | 12347 | Orbitron 1000 | XYZ Corp | +-------------+----------------+----------------------+
Ví dụ sử dụng toán tử 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
Bài viết này được đăng tại [free tuts .net]
SELECT * FROM products_tbl WHERE (product_name = 'Bun Janshu 3000' AND product_id < 344) OR (product_name = 'Bun Janshu 3000');
Sử dụng mệnh đề WHERE với PHP trong MariaDB
Bạn có thể sử dụng mệnh đề WHERE trong câu lệnh SQL và kết hợp nó với hàm mysql_query() trong PHP:
<?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 "ID 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 "Truy xuất dữ liệu thành công\n"; mysql_close($conn); ?>
Kết quả khi chạy thành công
ID 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 -------------------------------- ID 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 -------------------------------- ID 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 -------------------------------- Truy xuất dữ liệu thành công
Kết bài
Mệnh đề WHERE là công cụ hữu ích trong MariaDB, cho phép bạn lọc dữ liệu hiệu quả để đáp ứng yêu cầu cụ thể. Tận dụng tốt các toán tử và kết hợp điều kiện sẽ giúp bạn khai thác tối đa tiềm năng của nó, từ thao tác dòng lệnh đến lập trình PHP.