Cumu interrogà MySQL like? L'usu di cum'è dichjarazione in a basa di dati MySQL

Cumu fà una dumanda LIKE in MySQL ? Chì sò e regule d'usu di l'istruzione LIKE in e basi di dati MySQL ?

MySQL LIKE clause

Sapemu d'utilizà u cumandamentu SQL SELECT per leghje dati in MySQL, è pudemu usà a clause WHERE in a dichjarazione SELECT per uttene i registri specificati.

A clausula WHERE pò aduprà u segnu uguale (=) per definisce e cundizioni per u recuperu di dati, cum'è "chenweiliang_author = 'chenweiliang.com'".

Ma qualchì volta avemu bisognu di ottene tutti i registri chì u campu di chenweiliang_author cuntene caratteri "COM", allora avemu bisognu di utilizà a clause SQL LIKE in a clause WHERE.

A clausula SQL LIKE usa u caratteru di segnu di percentuale % per rapprisintà qualsiasi caratteru, simile à l'asteriscu * in UNIX o espressioni regulari.

Sè u segnu di percentuale % ùn hè micca adupratu , a clausula LIKE hà u listessu effettu chè u segnu uguale = .

grammatica

A seguente hè a sintassi generale di una dichjarazione SQL SELECT per leghje dati da una tabella di dati utilizendu a clause LIKE:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Pudete specificà ogni cundizione in a clause WHERE.
  • Pudete utilizà a clause LIKE in a clause WHERE.
  • Pudete aduprà a clause LIKE in u locu di u segnu uguale =.
  • LIKE hè generalmente assuciatu cù % Adupratu inseme, simile à una ricerca di metacaratteri.
  • Pudete aduprà AND o OR per specificà una o più cundizioni.
  • Pudete utilizà a clausula WHERE...LIKE in DELETE o UPDATE cumandamenti per specificà e cundizioni.

Utilizà a clause LIKE in u prompt di cumanda

Quì sottu useremu a clause WHERE ... LIKE in u cumandimu SQL SELECT per leghje e dati da a tabella di dati MySQL chenweiliang_tbl.

Istanza

Eccu una lista di tutti i registri di a tabella chenweiliang_tbl chì finiscenu cù "COM" in u campu chenweiliang_author :

Dichjarazione SQL UPDATE:

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)

Utilizà a clausola LIKE in u script PHP

Pudete utilizà a funzione PHP mysqli_query () è u listessu cumandamentu SQL SELECT cù una clause WHERE ... LIKE per uttene dati.

Questa funzione hè aduprata per eseguisce cumandamenti SQL è poi eseguisce dati per tutte e dumande attraversu a funzione PHP mysqli_fetch_assoc ().

Ma s'ellu hè una dichjarazione SQL utilizendu a clause WHERE...LIKE in DELETE o UPDATE, ùn ci hè bisognu di utilizà a funzione mysqli_fetch_array ().

Istanza

Eccu cumu usemu un script PHP per leghje tutti i registri chì finiscinu in COM in u campu di chenweiliang_author in a tabella chenweiliang_tbl:

Test di clausola MySQL DELETE:

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

发表 评论

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

Libru di Top