Как сделать запрос типа MySQL?Использование оператора like в базе данных MySQL

Как выполнить запрос LIKE в MySQL ? Каковы правила использования оператора LIKE в базах данных MySQL ?

Предложение MySQL LIKE

Мы знаем, как использовать команду SQL SELECT для чтения данных в MySQL, и мы можем использовать предложение WHERE в операторе SELECT для получения указанных записей.

В предложении WHERE можно использовать знак равенства (=) для задания условий получения данных, например, "chenweiliang_author = 'chenweiliang.com'".

Но иногда нам нужно получить все записи, поле chenweiliang_author которых содержит символы «COM», тогда нам нужно использовать предложение SQL LIKE в предложении WHERE.

В предложении SQL LIKE используется знак процента % для обозначения любого символа, аналогично звездочке * в UNIX или регулярным выражениям.

Если знак процента % не используется , предложение LIKE имеет тот же эффект , что и знак равенства = .

грамматика

Ниже приведен общий синтаксис оператора SQL SELECT для чтения данных из таблицы данных с использованием предложения LIKE:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Вы можете указать любое условие в предложении WHERE.
  • Вы можете использовать предложение LIKE в предложении WHERE.
  • Вы можете использовать предложение LIKE вместо знака равенства =.
  • LIKE обычно ассоциируется с % Используются вместе, аналогично поиску метасимволов.
  • Вы можете указать одно или несколько условий, используя И или ИЛИ.
  • Вы можете использовать предложение WHERE...LIKE в командах DELETE или UPDATE для указания условий.

Использование предложения LIKE в командной строке

Ниже мы будем использовать предложение WHERE...LIKE в команде SQL SELECT для чтения данных из таблицы данных MySQL chenweiliang_tbl.

Пример

Ниже приведён список всех записей из таблицы chenweiliang_tbl, у которых поле chenweiliang_author заканчивается на "COM" :

Оператор ОБНОВЛЕНИЯ SQL:

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 в PHP-скрипте

Вы можете использовать функцию PHP mysqli_query() и ту же команду SQL SELECT с предложением WHERE...LIKE для выборки данных.

Эта функция используется для выполнения команд SQL и последующего вывода данных для всех запросов через функцию PHP mysqli_fetch_assoc().

Но если это инструкция SQL, использующая предложение WHERE...LIKE в DELETE или UPDATE, нет необходимости использовать функцию mysqli_fetch_array().

Пример

Вот как мы используем PHP-скрипт для чтения всех записей, оканчивающихся на COM, в поле chenweiliang_author в таблице chenweiliang_tbl:

Тест предложения 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);
?>

Надеюсь, статья «Как выполнить запрос LIKE в MySQL? Использование оператора LIKE в базе данных MySQL», опубликованная в блоге Чен Вэйляна ( https://www.chenweiliang.com/ ), окажется для вас полезной.

Не стесняйтесь делиться ссылкой на эту статью: https://www.chenweiliang.com/cwl-474.html

Чтобы раскрыть еще больше скрытых трюков🔑, присоединяйтесь к нашему каналу в Telegram!

Поделитесь и поставьте лайк, если вам понравилось! Ваши репосты и лайки — наша постоянная мотивация!

 

发表 评论

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

Наверх