English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL LIKE 子句

Wir wissen, dass wir in MySQL Daten lesen, indem wir SQL SELECT-Befehl verwenden Gleichzeitig können wir WHERE-Präfix in der SELECT-Anweisung verwenden, um spezifische Aufzeichnungen zu erhalten.

Das WHERE-Präfix kann das Gleichheitszeichen = verwenden, um Bedingungen zu setzen, um Daten zu erhalten, wie "w3codebox_author = 'oldtoolbag.com"".

Manchmal müssen wir aber w3Der codebox_author-Feld enthält alle Aufzeichnungen mit "COM"-Zeichen, in diesem Fall müssen wir WHERE...LIKE-Präfix im SQL-Befehl verwenden.

Das LIKE-Präfix verwendet das Prozentsymbol %, um beliebige Zeichen zu darstellen, was einem Stern in UNIX oder regulären Ausdrücken ähnelt. *.

Ohne den Prozentsatz % hat das LIKE-Präfix die gleiche Wirkung wie das Gleichheitszeichen =.

Syntax

Hier ist die allgemeine Syntax der SQL SELECT-Anweisung mit LIKE-Präfix, um Daten aus der Datenbank auszulesen:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] field2 ='somevalue'
  • Sie können im WHERE-Präfix jede Bedingung spezifizieren.

  • Sie können das LIKE-Präfix im WHERE-Präfix verwenden.

  • Sie können das LIKE-Präfix anstelle des Gleichheitszeichens = verwenden.

  • LIKE wird normalerweise mit % verwendet, was einem Metazeichen-Search ähnelt.

  • Sie können AND oder OR verwenden, um eine oder mehrere Bedingungen zu spezifizieren.

  • Sie können WHERE...LIKE-Präfix im DELETE- oder UPDATE-Befehl verwenden, um Bedingungen zu spezifizieren.

Verwenden Sie das LIKE-Präfix im Befehlszeilen-Protokoll

Hier verwenden wir WHERE...LIKE-Präfix in der SQL SELECT-Anweisung, um Daten aus der MySQL-Datentabelle w3codebox_tbl Daten lesen.

Online-Beispiel

Hier sind wir3codebox_tbl-Tabelle w3codebox_author Feld enthält alle Einträge, die mit COM enden:

mysql> use w3codebox;
Database changed
mysql> SELECT * from w3codebox_tbl WHERE w3codebox_author LIKE '%COM';
+-----------+---------------+---------------+-----------------+
| w3codebox_id           | w3codebox_title         | w3codebox_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3         | Lernen Sie Java       | oldtoolbag.com           | 2015-05-01      |
| 4         | Lernen Sie Python | oldtoolbag.com           | 2016-03-06      |
+-----------+---------------+---------------+-----------------+
2 Zeilen in Set (0.01 sec)

Verwendung der LIKE Klausel in PHP-Skripten

Sie können die mysqli_query() Funktion und den gleichen SQL SELECT Befehl mit WHERE...LIKE Klausel verwenden, um Daten zu erhalten.

Diese Funktion führt SQL-Befehle aus und gibt alle abgefragten Daten über die PHP-Funktion mysqli_fetch_array() aus.

Wenn Sie WHERE...LIKE Klausel in DELETE oder UPDATE SQL-Anweisungen verwenden, müssen Sie die mysqli_fetch_array() Funktion nicht verwenden.

Online-Beispiel

Nachfolgend ist ein Beispiel für die Verwendung eines PHP-Skripts in w3codebox_tbl liest w3codebox_author Feld enthält alle Einträge, die mit COM enden:

<?php
$dbhost = 'localhost';  // 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 w3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3codebox_tbl
        WHERE w3codebox_author LIKE "%COM"';
 
mysqli_select_db($conn, 'w3codebox');
$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, MYSQLI_ASSOC))
{
    echo "<tr><td> "{$row['w3codebox_id'}</td> ".
         "<td>{$row['w3codebox_title']} </td> ".
         "<td>{$row['w3codebox_author']} </td> ".
         "<td>{$row['submission_date']} </td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

输出结果如下所示: