Cách truy vấn MySQL like? Cách sử dụng câu lệnh like trong cơ sở dữ liệu MySQL

Làm thế nào để thực hiện truy vấn LIKE trong MySQL ? Các quy tắc sử dụng câu lệnh LIKE trong cơ sở dữ liệu MySQL là gì?

Mệnh đề THÍCH của MySQL

Chúng ta biết sử dụng lệnh SELECT trong SQL để đọc dữ liệu trong MySQL và chúng ta có thể sử dụng mệnh đề WHERE trong câu lệnh SELECT để lấy các bản ghi được chỉ định.

Mệnh đề WHERE có thể sử dụng dấu bằng (=) để thiết lập các điều kiện truy xuất dữ liệu, chẳng hạn như "chenweiliang_author = 'chenweiliang.com'".

Nhưng đôi khi chúng ta cần lấy tất cả các bản ghi có trường chenweiliang_author chứa các ký tự "COM", khi đó chúng ta cần sử dụng mệnh đề SQL LIKE trong mệnh đề WHERE.

Mệnh đề LIKE trong SQL sử dụng ký tự phần trăm % để đại diện cho bất kỳ ký tự nào, tương tự như dấu sao * trong UNIX hoặc biểu thức chính quy.

Nếu không sử dụng dấu phần trăm % , mệnh đề LIKE có tác dụng tương tự như dấu bằng = .

ngữ pháp

Sau đây là cú pháp chung của câu lệnh SQL SELECT để đọc dữ liệu từ bảng dữ liệu bằng mệnh đề LIKE:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Bạn có thể chỉ định bất kỳ điều kiện nào trong mệnh đề WHERE.
  • Bạn có thể sử dụng mệnh đề LIKE trong mệnh đề WHERE.
  • Bạn có thể sử dụng mệnh đề LIKE thay cho dấu bằng =.
  • LIKE thường được kết hợp với % Được sử dụng cùng nhau, tương tự như tìm kiếm siêu ký tự.
  • Bạn có thể chỉ định một hoặc nhiều điều kiện bằng cách sử dụng VÀ hoặc HOẶC.
  • Bạn có thể sử dụng mệnh đề WHERE...LIKE trong lệnh DELETE hoặc UPDATE để xác định điều kiện.

Sử dụng mệnh đề LIKE trong dấu nhắc lệnh

Dưới đây chúng ta sẽ sử dụng mệnh đề WHERE...LIKE trong lệnh SQL SELECT để đọc dữ liệu từ bảng dữ liệu MySQL chenweiliang_tbl.

Phiên bản

Sau đây là danh sách tất cả các bản ghi từ bảng chenweiliang_tbl có trường chenweiliang_author kết thúc bằng "COM" :

Câu lệnh CẬP NHẬT SQL:

mysql> use chenweiliang;
Database changed
mysql> SELECT * from chenweiliang_tbl WHERE chenweiliang_author LIKE '%COM';
+-----------+---------------+---------------+-----------------+
| chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | 学习 Java | chenweiliang.com | 2015-05-01 |
| 4 | 学习 Python | chenweiliang.com | 2016-03-06 |
+-----------+---------------+---------------+-----------------+
2 rows in set (0.01 sec)

Sử dụng mệnh đề LIKE trong tập lệnh PHP

Bạn có thể sử dụng hàm PHP mysqli_query() và lệnh SQL SELECT tương tự với mệnh đề WHERE...LIKE để lấy dữ liệu.

Hàm này được sử dụng để thực thi các lệnh SQL và sau đó xuất dữ liệu cho tất cả các truy vấn thông qua hàm mysqli_fetch_assoc () trong PHP.

Nhưng nếu đó là câu lệnh SQL sử dụng mệnh đề WHERE...LIKE trong DELETE hoặc UPDATE thì không cần sử dụng hàm mysqli_fetch_array().

Phiên bản

Đây là cách chúng tôi sử dụng tập lệnh PHP để đọc tất cả các bản ghi kết thúc bằng COM trong trường chenweiliang_author trong bảng chenweiliang_tbl:

Kiểm tra mệnh đề MySQL DELETE:

 
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl
 WHERE chenweiliang_author LIKE "%COM"';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Di chuyển về đầu trang