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);##>

Image 1.jpg

相關影片教學推薦: LIKE 和 MIN

#