MySQL LIKE 子句
MySQL LIKE 子句
我們知道在MySQL 中使用SQL SELECT 指令來讀取數據, 同時我們可以在SELECT 語句中使用WHERE 子句來取得指定的記錄。
WHERE 子句中可以使用等號 = 來設定取得資料的條件,如 "user_author = 'PHP中文網路'"。
但有時候我們需要取得user_author 欄位含有 "php" 字元的所有記錄,這時我們就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分號 %字符來表示任意字符,類似於UNIX或正規表示式中的星號 *。
如果沒有使用百分號 %, LIKE 子句與等號 = 的效果是一樣的。
語法
以下是SQL SELECT 語句使用LIKE 子句從資料表中讀取資料的通用語法:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
#你可以在WHERE 子句中指定任何條件。
你可以在 WHERE 子句中使用LIKE子句。
你可以用LIKE子句代替等號 =。
LIKE 通常與 % 一同使用,類似於一個元字元的搜尋。
你可以使用 AND 或 OR 來指定一個或多個條件。
你可以在 DELETE 或 UPDATE 指令中使用 WHERE...LIKE 子句來指定條件。
在命令提示字元中使用LIKE 子句
#以下我們將在SQL SELECT 指令中使用WHERE. ..LIKE 子句來從MySQL資料表user 讀取資料。
實例
以下是我們將user表中取得user_author 欄位中以 php 為結尾的所有記錄:
mysql> use demo;
Database changed
mysql> SELECT * 從 user_tbl WHERE user_author LIKE '%php';
+-----------+--- ------------+---------------+-----------------+
| user_id | user_title | user_author | submission_date |
+-----------+---------------+--- ------------+-----------------+
| 3 | 學習Java | PHP中文網 | 2015-05 -01 |
| 4 | 學習Python | PHP中文網 | 2016-03-06 |
+-----------+------ ---------+---------------+-----------------+
# 2 rows in set (0.01 sec)
在PHP腳本中使用LIKE 子句
##你可以使用PHP函數的mysqli_query() 及相同的SQL SELECT 帶上WHERE...LIKE 子句的指令來取得資料。 此函數用於執行 SQL 指令,然後透過 PHP 函數 mysqli_fetch_array() 來輸出所有查詢的資料。 但如果是 DELETE 或 UPDATE 中使用 WHERE...LIKE 子句的S QL 語句,則無需使用 mysqli_fetch_array() 函數。實例#
以下是我們使用PHP腳本在user表中讀取user_author 欄位中以php 為結尾的所有記錄:
<?php
header("Content -Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // mysql伺服器主機位址
$dbuser = 'root'; ##$dbpass = 'root'; // mysql使用者名稱密碼
$conn = mysqli_no ('連接失敗: ' . mysqli_error($conn));
}
// 設置編碼,防止中文亂碼
mysqli_query($conn , "set names utf8");
$sql = 'SELECT user_id, user_title,
user_author, submission_date
mysqli_select_db( $conn, 'demo' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('無法讀取資料: ' . mysqli_error($conn));#}
echo '<h2>PHP中文網 mysqli_fetch_array 測試<h2>';
echo '<table border="1"><tr><td>教學課程教學課程教學課程教學課程教學課程課程>>>> ;td>標題</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
echo "<tr><td> {$row['user_id']}</td> ".
']} </td> ".
"<td>{$row['user_author']} </td> } </td> ".
"</tr>";
}
echo '</table>';
mysqli_close($conn);##>
相關影片教學推薦: LIKE 和 MIN
#