MARIADB USEFUL RESOURCES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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 ANDOR 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ả ANDOR:

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:

  1. Kết nối đến MariaDB bằng tài khoản root.
  2. Chọn cơ sở dữ liệu PRODUCTS.
  3. Chạy truy vấn SQL để lấy dữ liệu từ bảng products_tbl với điều kiện product_manufacturer = "XYZ Corp".
  4. Lặp qua kết quả và hiển thị thông tin sản phẩm.
  5. Đó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.

Kết bài

Mệnh đề WHERE là một công cụ quan trọng trong SQL, giúp truy vấn dữ liệu một cách chính xác theo điều kiện đặt ra. Việc kết hợp nhiều điều kiện bằng các toán tử như AND, OR cho phép linh hoạt trong việc lọc dữ liệu. Ngoài ra, khi sử dụng MariaDB trong PHP, việc chuyển sang mysqli hoặc PDO là một lựa chọn tối ưu để nâng cao tính bảo mật và hiệu suất. Hiểu và áp dụng đúng mệnh đề WHERE sẽ giúp bạn làm việc hiệu quả hơn với cơ sở dữ liệu, tối ưu hóa truy vấn và đảm bảo an toàn cho ứng dụng của mình.

Cùng chuyên mục:

Biểu thức chính quy (Regular Expression) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Dãy số (Sequences) trong MariaDB

Dãy số (Sequences) trong MariaDB

Table Cloning trong MariaDB

Table Cloning trong MariaDB

Bảng tạm (Temporary Tables) trong MariaDB

Bảng tạm (Temporary Tables) trong MariaDB

Indexes & Statistics Tables trong MariaDB

Indexes & Statistics Tables trong MariaDB

Alter Command trong MariaDB

Alter Command trong MariaDB

Transactions trong MariaDB

Transactions trong MariaDB

Biểu thức chính quy trong MariaDB

Biểu thức chính quy trong MariaDB

Giá trị NULL trong MariaDB

Giá trị NULL trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Câu lệnh DELETE trong MariaDB

Câu lệnh DELETE trong MariaDB

Câu lệnh UPDATE trong MariaDB

Câu lệnh UPDATE trong MariaDB

Các kiểu dữ liệu (Data Types) trong MariaDB

Các kiểu dữ liệu (Data Types) trong MariaDB

Tìm hiểu Select Database trong MariaDB

Tìm hiểu Select Database trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu (Database) trong MariaDB

Tạo cơ sở dữ liệu (Database) trong MariaDB

Cú pháp PHP trong MariaDB

Cú pháp PHP trong MariaDB

Top