Предложение WHERE предоставляет способ извлечения данных, когда операция использует точное совпадение. В ситуациях, требующих нескольких результатов с общими характеристиками, предложение LIKE обеспечивает широкое сопоставление с образцом.
Предложение LIKE проверяет совпадение с шаблоном, возвращая true или false. Шаблоны, используемые для сравнения, принимают следующие символы подстановки: «%», что соответствует количеству символов (0 или более); и «_», который соответствует одному символу. Подстановочный знак «_» соответствует только символам в его наборе, что означает, что он будет игнорировать латинские символы при использовании другого набора. По умолчанию совпадения не чувствительны к регистру и требуют дополнительных настроек чувствительности к регистру.
Предложение NOT LIKE позволяет протестировать противоположное условие, как и оператор not .
Если выражение оператора или шаблон имеют значение NULL, результатом будет NULL.
Просмотрите общий синтаксис предложения LIKE, приведенный ниже —
SELECT field, field2,... FROM table_name, table_name2,... WHERE field LIKE condition
Используйте предложение LIKE в командной строке или в сценарии PHP.
Командная строка
В командной строке просто используйте стандартную команду —
root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> SELECT * from products_tbl WHERE product_manufacturer LIKE 'XYZ%'; +-------------+----------------+----------------------+ | ID_number | Nomenclature | product_manufacturer | +-------------+----------------+----------------------+ | 12345 | Orbitron 4000 | XYZ Corp | +-------------+----------------+----------------------+ | 12346 | Orbitron 3000 | XYZ Corp | +-------------+----------------+----------------------+ | 12347 | Orbitron 1000 | XYZ Corp | +-------------+----------------+----------------------+
PHP Script с использованием предложения Like
Используйте функцию mysql_query () в выражениях, использующих предложение LIKE
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT product_id, product_name, product_manufacturer, ship_date FROM products_tbl WHERE product_manufacturer LIKE "xyz%"'; mysql_select_db('PRODUCTS'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "Product ID:{$row['product_id']} <br> ". "Name: {$row['product_name']} <br> ". "Manufacturer: {$row['product_manufacturer']} <br> ". "Ship Date: {$row['ship_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>
При успешном извлечении данных вы увидите следующий вывод: