Cum să interogăți MySQL like?Utilizarea declarației like în baza de date MySQL

MySQL Cum se interoga ca?baza de date mysqlChineză ca utilizarea declarațiilor

Clauza MySQL LIKE

Știm să folosim comanda SQL SELECT pentru a citi date în MySQL și putem folosi clauza WHERE din instrucțiunea SELECT pentru a obține înregistrările specificate.

Semnul egal poate fi folosit în clauza WHERE = Pentru a seta condițiile pentru obținerea datelor, cum ar fi „chenweiliang_author = ‘chenweiliang.com’”.

Dar uneori trebuie să obținem toate înregistrările al căror câmp chenweiliang_author conține caractere „COM”, apoi trebuie să folosim clauza SQL LIKE în clauza WHERE.

Utilizarea semnelor procentuale în clauzele SQL LIKE %caracter pentru a reprezenta orice caracter, similar cu asteriscul din UNIX sau expresii regulate *.

Dacă nu se utilizează semnul de procente %, clauza LIKE cu semnul egal = Efectul este același.

gramatică

Următoarea este sintaxa generală a unei instrucțiuni SQL SELECT pentru a citi date dintr-un tabel de date folosind clauza LIKE:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Puteți specifica orice condiție în clauza WHERE.
  • Puteți folosi clauza LIKE în clauza WHERE.
  • Puteți folosi clauza LIKE în locul semnului egal =.
  • LIKE este de obicei asociat cu % Folosit împreună, similar unei căutări de metacaractere.
  • Puteți specifica una sau mai multe condiții folosind AND sau OR.
  • Puteți folosi clauza WHERE...LIKE din comenzile DELETE sau UPDATE pentru a specifica condiții.

Folosind clauza LIKE din promptul de comandă

Mai jos vom folosi clauza WHERE...LIKE din comanda SQL SELECT pentru a citi datele din tabelul de date MySQL chenweiliang_tbl.

Instanță

Iată cum vom obține câmpul chenweiliang_author din tabelul chenweiliang_tbl cu COM pentru toate înregistrările care se termină cu:

Instrucțiunea 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)

Folosind clauza LIKE în scriptul PHP

Puteți folosi funcția PHP mysqli_query() și aceeași comandă SQL SELECT cu o clauză WHERE...LIKE pentru a prelua date.

Această funcție este folosită pentru a executa comenzi SQL și apoi a scoate date pentru toate interogările prin funcția PHP mysqli_fetch_assoc().

Dar dacă este o instrucțiune SQL care utilizează clauza WHERE...LIKE din DELETE sau UPDATE, nu este nevoie să folosiți funcția mysqli_fetch_array().

Instanță

Iată cum folosim un script PHP pentru a citi toate înregistrările care se termină în COM în câmpul chenweiliang_author din tabelul chenweiliang_tbl:

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

发表 评论

Adresa ta de e-mail nu va fi publicată. Sunt utilizate câmpurile obligatorii * Eticheta

Derulaţi în sus