Come interrogare MySQL come?L'utilizzo dell'istruzione like nel database MySQL

mysql Come interrogare come?database MySQLCinese come l'uso delle istruzioni

Clausola LIKE MySQL

Sappiamo usare il comando SQL SELECT per leggere i dati in MySQL e possiamo usare la clausola WHERE nell'istruzione SELECT per ottenere i record specificati.

Il segno di uguale può essere utilizzato nella clausola WHERE = Per impostare le condizioni per ottenere i dati, ad esempio "chenweiliang_author = 'chenweiliang.com'".

Ma a volte abbiamo bisogno di ottenere tutti i record il cui campo chenweiliang_author contiene caratteri "COM", quindi dobbiamo usare la clausola SQL LIKE nella clausola WHERE.

Utilizzo dei segni di percentuale nelle clausole SQL LIKE %carattere per rappresentare qualsiasi carattere, simile all'asterisco in UNIX o nelle espressioni regolari *.

Se non viene utilizzato alcun segno di percentuale %, clausola LIKE con segno di uguale = L'effetto è lo stesso.

grammatica

Quella che segue è la sintassi generale di un'istruzione SQL SELECT per leggere i dati da una tabella di dati utilizzando la clausola LIKE:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • È possibile specificare qualsiasi condizione nella clausola WHERE.
  • È possibile utilizzare la clausola LIKE nella clausola WHERE.
  • È possibile utilizzare la clausola LIKE al posto del segno di uguale =.
  • LIKE è solitamente associato a % Usati insieme, simili a una ricerca di metacaratteri.
  • È possibile specificare una o più condizioni utilizzando AND o OR.
  • È possibile utilizzare la clausola WHERE...LIKE nei comandi DELETE o UPDATE per specificare le condizioni.

Utilizzo della clausola LIKE nel prompt dei comandi

Di seguito utilizzeremo la clausola WHERE...LIKE nel comando SQL SELECT per leggere i dati dalla tabella dati MySQL chenweiliang_tbl.

Esempio

Di seguito è come otterremo il campo chenweiliang_author nella tabella chenweiliang_tbl con COM per tutti i record che terminano con:

Istruzione 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)

Utilizzo della clausola LIKE nello script PHP

È possibile utilizzare la funzione PHP mysqli_query() e lo stesso comando SQL SELECT con una clausola WHERE...LIKE per ottenere i dati.

Questa funzione viene utilizzata per eseguire comandi SQL e quindi generare dati per tutte le query tramite la funzione PHP mysqli_fetch_assoc().

Ma se si tratta di un'istruzione SQL che utilizza la clausola WHERE...LIKE in DELETE o UPDATE, non è necessario utilizzare la funzione mysqli_fetch_array().

Esempio

Ecco come utilizziamo uno script PHP per leggere tutti i record che terminano con COM nel campo chenweiliang_author nella tabella chenweiliang_tbl:

Test della clausola DELETE MySQL:

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

发表 评论

Il tuo indirizzo email non verrà pubblicato. 必填 项 已 用 * 标注

Scorrere fino a Top