01/10/2018, 15:36

Bài 7: MySQL – Mệnh Đề LIKE

Chúng ta đã thấy câu lệnh SELECT để lấy dữ liệu (fetch) từ bảng. Chúng ta cũng có thể sử dụng mệnh đề điều kiện được gọi là WHERE để chọn dòng dữ liệu (record) theo yêu cầu. Một mệnh đề WHERE với dấu bằng (=) làm việc tốt nơi mà chúng ta muốn làm một điều kiện đúng chính xác. Giống như ...

Chúng ta đã thấy câu lệnh SELECT để lấy dữ liệu (fetch) từ bảng. Chúng ta cũng có thể sử dụng mệnh đề điều kiện được gọi là WHERE để chọn dòng dữ liệu (record) theo yêu cầu.

Một mệnh đề WHERE với  dấu bằng (=) làm việc tốt nơi mà chúng ta muốn làm một điều kiện đúng chính xác. Giống như nếu”tutorial_author = ‘dammelaptrinh’”. Nhưng có một yêu cầu nơi chúng ta muốn lọc ra tất cả những kết quả mà tên tutorial_author chỉ cần chứa đựng “laptrinh”. Điều này có thể được sử lý bằng cách sử dụng mệnh đề LIKE theo mệnh đề WHERE.

Mệnh đề LIKE sử dụng với ký hiệu %, sau đây bạn có 2 cách để chạy mệnh đề LIKE

Sử dụng mệnh đề LIKE ở Command Prompt

root@host# mysql -u root -p password;

Enter password:*******

mysql> use TUTORIALS;

Database changed

mysql> SELECT * from tutorials_tbl

    -> WHERE tutorial_author LIKE ‘%laptrinh’;

Sử dụng mệnh đề LIKE trong script PHP:

Nếu các bạn đã biết chương PHP & MySQL thì các bạn chỉ cần tạo câu query sử dụng mệnh đề LIKE rồi bỏ vào hàm mysql_query() và in dữ liệu bằng cách sử dụng mysql_fetch_array().

$dbhost = ‘localhost:3036’;

$dbuser = ‘root’;

$dbpass = ‘rootpassword’;

$conn = mysql_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

  die(‘Could not connect: ‘ . mysql_error());

}

$sql = ‘SELECT tutorial_id, tutorial_title,

               tutorial_author, submission_date

        FROM tutorials_tbl

        WHERE tutorial_author LIKE “%laptrinh%”‘;

mysql_select_db(‘TUTORIALS’);

$retval = mysql_query( $sql, $conn );

while($row = mysql_fetch_array($retval, MYSQL_ASSOC))

{

// in ra dữ liệu

}

Lưu ý: mệnh đề WHERE … LIKE không nên sử dụng với các lệnh DELETE hoặc UPDATE. Không kiễm soát nổi đâu nha các bạn, chơi 1 phát là đi hết dữ liệu.

Hoàng Hải Đăng

24 chủ đề

7226 bài viết

Cùng chủ đề
0