在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MySQL Like Clause
MySQL 復(fù)制表
MySQL ALTER 命令
MySQL 安裝
MySQL 日期與時(shí)間方面的函數(shù)
MySQL SQL Injection
MySQL 排序結(jié)果
MySQL 臨時(shí)表
MySQL 介紹
MySQL 數(shù)據(jù)導(dǎo)出
MySQL 索引
MySQL 數(shù)值函數(shù)
MySQL 更新查詢
MySQL UNION 關(guān)鍵字
MySQL RAND 函數(shù)
創(chuàng)建 MySQL 數(shù)據(jù)庫
MySQL AVG 函數(shù)
MySQL Using Join
MySQL Handling Duplicates
MySQL SUM 函數(shù)
MySQL 數(shù)據(jù)類型
MySQL 插入查詢
MySQL 字符串函數(shù)
MySQL Using Sequences
MySQL 管理
MySQL 數(shù)據(jù)導(dǎo)入
MySQL BETWEEN 子句
MySQL MIN 函數(shù)
創(chuàng)建 MySQL 表
MySQL Group By 子句
MySQL COUNT 函數(shù)
MySQL 匯報(bào)
MySQL 選擇數(shù)據(jù)庫
MySQL Where Clause
MySQL 選擇查詢
MySQL Like Clause
MySQL 正則表達(dá)式
一些非常有用的學(xué)習(xí)資源
MySQL NULL Values
MySQL 刪除查詢
MySQL 數(shù)據(jù)庫信息
一些有用的 MySQL 函數(shù)與子句
MySQL 刪除表
MySQL MAX 函數(shù)
MySQL SQRT 函數(shù)
MySQL 終止數(shù)據(jù)庫
連接 MySQL 服務(wù)器
MySQL IN 子句
MySQL CONCAT 函數(shù)
MySQL PHP語法

MySQL Like Clause

前面幾節(jié)講解了如何利用 SQL 的 SELECT 命令來獲取 MySQL 表中的數(shù)據(jù),以及如何利用 WHERE 子句這種條件子句來選擇所需的記錄。

當(dāng)我們需要進(jìn)行精確匹配時(shí),可以在WHERE子句中加入等號(hào)(=),就像是 if tutorial_author = 'Sanjay' 這種 if 條件語句一樣。但有時(shí)我們會(huì)想在所有的結(jié)果中過濾 tutorial_author 字段包含 "jay" 字符的結(jié)果。這時(shí)就應(yīng)該利用 SQL 的 LIKE 子句搭配 WHERE 子句來解決。

如果 SQL 的 LIKE 子句帶有 % 字符,則相當(dāng)于 UNIX 中的元字符(*),在命令行中列出所有的文件或目錄。

如果 LIKE 子句不帶 % 字符,則就相當(dāng)于 WHERE 子句中帶有等號(hào)的情況。

語法格式

使用 SQL 的 SELECT 命令,并配合 LIKE 子句,從 MySQL 表中獲取數(shù)據(jù)的一般語法格式如下所示:

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • 可以使用 WHERE 子句來指定任何條件。
  • 可以搭配使用 LIKE 子句與 WHERE 子句。
  • LIKE 子句可以代替WHERE子句中的等號(hào)。
  • 當(dāng) LIKE 子句帶有 百分號(hào)(%)時(shí),會(huì)按照元字符搜索那樣執(zhí)行。
  • 使用 ANDOR 運(yùn)算符,可以指定一個(gè)或多個(gè)條件。
  • WHERE...LIKE 子句組合還可以搭配 DELETE 或UPDATE 這樣的 SQL 命令一起使用。其中,WHERE…LIKE 子句組合的作用同樣是指定條件。

在命令行中使用 LIKE 子句

我們將使用 SQL 的SELECT 命令搭配WHERE...LIKE 子句組合,從 MySQL 的表 tutorials_tbl 中獲取選定數(shù)據(jù)。

范例

下面這個(gè)范例將返回表 tutorials_tbl 中作者名結(jié)尾帶有 jay 的所有記錄。

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl 
    -> WHERE tutorial_author LIKE '%jay';
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)

mysql>

在 PHP 腳本中使用 LIKE 子句

在利用PHP 的 mysql_query() 函數(shù)過程中,我們可以照常使用 WHERE...LIKE 子句組合的語法。如果 WHERE...LIKE 子句組合和 SELECT 命令一起使用,那么先利用 mysql_query() 函數(shù)執(zhí)行相關(guān)的 SQL 命令,然后再用另一個(gè) PHP 函數(shù) mysql_fetch_array() 獲取所有的數(shù)據(jù)。

但如果 WHERE...LIKE 子句組合是和 DELETE 或 UPDATE 命令一起使用的話,就不需要再調(diào)用 PHP 函數(shù)了。

范例

下面這個(gè)范例將返回表 tutorials_tbl 中所有作者名包含 jay 的記錄。

<?php
$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 "%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);
?>