MySQL – Bài 10: Mệnh đề WHERE – Mệnh đề LIKE (tt)

0
53

1. Mệnh đề WHERE

2. Mệnh đề LIKE

Như đã thấy, nếu sử dụng mệnh đề Where một cách độc lập thì chúng ta chỉ có thể chỉ ra một điều kiện chính xác, ví dụ: Where Holot = “Nguyễn”: Field Holot của record phải là “Nguyễn”. Do đó, nếu muốn chỉ ra một điều kiện có tính tương đối thì ta phải sử dụng kết hợp với mệnh đề Like, ví dụ: Where Holot Like “Nguyễn%”: Chỉ cần field Holot của record bắt đầu là “Nguyễn” là được.

Tóm lại, khi cần sử dụng điều kiện có tính tương đối trong câu lệnh Select thì ta chỉ cần thay dấu bằng (=) trong biểu thức logic sau Where bởi từ khóa Like là được. Tất nhiên, phải sử dụng dấu % và các toán tử AND, OR,… một cách phù hợp.

Cú pháp lệnh SELECT với LIKE

SELECT field1, field2,…fieldN table_name1, table_name2…

WHERE field1LIKE condition1[AND [OR]] filed2 = ‘somevalue’

Các toán tử AND, OR được sử dụng khi có nhiều hơn một field tham gia vào biểu thức điều kiện sau Where.

Mệnh đề Where … Like cũng có thể sử dụng trong các câu lệnh truy vấn khác như UPDATE, DELETE,…

Sử dụng mệnh đề LIKE tại dấu nhắc mysql>

Ví dụ:

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

Enter password:*******

mysql>use HSCB;

Database changed

mysql>SELECT * from lylich

-> WHERE ten LIKE ‘t%’;

….

mysql>

Ví dụ trên chon ra các record, trong table lylich – trong cơ sở dữ liệu HSCB, mà field ten của nó bắt đầu bằng kí tự ‘t’.

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

Việc sử dụng mệnh đề Where không có hay có thêm Like trong câu lệnh Select hoàn toàn không liên quan đến việc gọi hàm mysql_query() và mysql_fetch_array() của PHP.

Ví dụ 2:

<?php

$dbhost = ‘localhost:3036’;

$dbuser = ‘root’;

$dbpass = ‘a123456789z’;

$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 “%jay%”‘;

mysql_select_db(‘TUTORIALS’);

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

If (! $retval )

{

die(‘Could not get data: ‘ . mysql_error());

}

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

{

echo “Tutorial ID :{$row[‘tutorial_id’]}  <br> “.

“Title: {$row[‘tutorial_title’]} <br> “.

“Author: {$row[‘tutorial_author’]} <br> “.

“Submission Date : {$row[‘submission_date’]} <br> “.

“——————————–<br>”;

}

echo “Fetched data successfully\n”;

mysql_close ($conn);

?>

Ví dụ trên: Chọn ra các record mà chỉ cần giá trị trường (field) tutorial_author của nó chứa các kí tự “jay” là được.

Tự học

 

http://tuhocanninhmang.com/lamp-wamp/sql-mysql/mysql-bai-10-menh-de-where-menh-de-like-tt.htm

Gửi phản hồi

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.