Hogyan lehet lekérdezni a MySQL like-ot?A like utasítás használata a MySQL adatbázisban

Hogyan lehet LIKE lekérdezést végrehajtani MySQL-ben ? Milyen szabályok vonatkoznak a LIKE utasításra MySQL adatbázisokban ?

MySQL LIKE záradék

Tudjuk, hogy az SQL SELECT parancsot használjuk adatok olvasására a MySQL-ben, és a SELECT utasítás WHERE záradékát használhatjuk a megadott rekordok lekéréséhez.

A WHERE záradék egyenlőségjel (=) segítségével állíthatja be az adatok lekérésének feltételeit, például: „chenweiliang_author = 'chenweiliang.com'”.

De néha be kell szereznünk az összes olyan rekordot, amelynek chenweiliang_author mezője "COM" karaktereket tartalmaz, akkor a WHERE záradékban az SQL LIKE záradékot kell használnunk.

Az SQL LIKE záradék a százalékjelet (%) használja bármely karakter ábrázolására, hasonlóan a UNIX-ban található csillaghoz ( *) vagy a reguláris kifejezésekhez.

Ha a százalékjelet (%) nem használjuk , a LIKE záradéknak ugyanaz a hatása , mint az egyenlőségjelnek (=) .

nyelvtan

A következő az SQL SELECT utasítás általános szintaxisa, amellyel adattáblázatból olvashat ki adatokat a LIKE záradék használatával:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • A WHERE záradékban bármilyen feltételt megadhat.
  • Használhatja a LIKE záradékot a WHERE záradékban.
  • Az egyenlőségjel helyett használhatja a LIKE záradékot =.
  • A LIKE-ot általában a következővel társítják % Együtt használják, hasonlóan a metakarakteres kereséshez.
  • Egy vagy több feltételt megadhat az ÉS vagy a VAGY gombbal.
  • A feltételek megadásához használhatja a WHERE...LIKE záradékot a DELETE vagy UPDATE parancsokban.

A LIKE záradék használata a parancssorban

Az alábbiakban a WHERE...LIKE záradékot használjuk az SQL SELECT parancsban a chenweiliang_tbl MySQL adattábla adatainak olvasásához.

Példa

Az alábbiakban a chenweiliang_tbl tábla összes olyan rekordját láthatjuk, amelyek chenweiliang_author mezőjében „COM” végződésűek :

SQL UPDATE utasítás:

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)

LIKE záradék használata PHP szkriptben

Használhatja a PHP mysqli_query() függvényét és ugyanazt az SQL SELECT parancsot WHERE...LIKE záradékkal az adatok lekéréséhez.

Ez a függvény az SQL-parancsok végrehajtására szolgál, majd az összes lekérdezés adatainak kiadására a PHP mysqli_fetch_assoc() függvényen keresztül.

De ha ez egy SQL utasítás, amely a DELETE vagy UPDATE WHERE...LIKE záradékot használja, akkor nincs szükség a mysqli_fetch_array() függvény használatára.

Példa

Íme, hogyan használunk PHP-szkriptet a chenweiliang_tbl tábla chenweiliang_author mezőjében lévő COM-ra végződő rekordok olvasásához:

MySQL DELETE záradék teszt:

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

发表 评论

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

Lapozzon a lap tetejére