Jak wykonać zapytanie MySQL like Użycie wyrażenia like w bazie danych MySQL

mysql Jak zapytać jak?baza danych mysqlChińskie użycie oświadczenia podobnego

Klauzula LIKE MySQL

Wiemy, jak używać polecenia SQL SELECT do odczytywania danych w MySQL i możemy użyć klauzuli WHERE w instrukcji SELECT, aby uzyskać określone rekordy.

Znak równości może być użyty w klauzuli WHERE = Aby ustawić warunki pozyskiwania danych, takie jak „chenweiliang_author = 'chenweiliang.com'”.

Ale czasami musimy pobrać wszystkie rekordy, których pole chenweiliang_author zawiera znaki „COM”, wtedy musimy użyć klauzuli SQL LIKE w klauzuli WHERE.

Używanie znaków procentu w klauzulach SQL LIKE %znak reprezentujący dowolny znak, podobny do gwiazdki w UNIX lub wyrażeń regularnych *.

Jeśli nie jest używany znak procentu %, klauzula LIKE ze znakiem równości = Efekt jest taki sam.

gramatyka

Poniżej znajduje się ogólna składnia instrukcji SQL SELECT do odczytywania danych z tabeli danych przy użyciu klauzuli LIKE:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • W klauzuli WHERE można określić dowolny warunek.
  • Możesz użyć klauzuli LIKE w klauzuli WHERE.
  • Możesz użyć klauzuli LIKE zamiast znaku równości =.
  • LIKE jest zwykle kojarzone z % Używane razem, podobnie jak wyszukiwanie metaznakowe.
  • Możesz określić jeden lub więcej warunków, używając AND lub OR.
  • Możesz użyć klauzuli WHERE...LIKE w poleceniach DELETE lub UPDATE, aby określić warunki.

Korzystanie z klauzuli LIKE w wierszu poleceń

Poniżej użyjemy klauzuli WHERE...LIKE w poleceniu SQL SELECT do odczytania danych z tabeli danych MySQL chenweiliang_tbl.

Instancja

Oto jak otrzymamy pole chenweiliang_author w tabeli chenweiliang_tbl z COM dla wszystkich rekordów kończących się na:

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

Używanie klauzuli LIKE w skrypcie PHP

Możesz użyć funkcji PHP mysqli_query() i tego samego polecenia SQL SELECT z klauzulą ​​WHERE...LIKE, aby uzyskać dane.

Ta funkcja służy do wykonywania poleceń SQL, a następnie wyprowadzania danych dla wszystkich zapytań za pomocą funkcji PHP mysqli_fetch_assoc().

Ale jeśli jest to instrukcja SQL używająca klauzuli WHERE...LIKE w DELETE lub UPDATE, nie ma potrzeby używania funkcji mysqli_fetch_array().

Instancja

Oto jak używamy skryptu PHP do odczytywania wszystkich rekordów kończących się na COM w polu chenweiliang_author w tabeli chenweiliang_tbl:

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

发表 评论

Twój adres e-mail nie zostanie opublikowany. 必填 项 已 用 * 标注

Katalog artykułów
Przewiń do góry