кодесурса
«MYSQL

Оператор MySQL LIKE

script1adsense2code
script1adsense3code

Как оператор

Оператор MySQL LIKE проверяет, соответствует ли конкретная символьная строка указанному шаблону.

Синтаксис:

 expr LIKE pat [ESCAPE 'escape_char']
  • Сопоставление с образцом с использованием простого сравнения регулярных выражений SQL. Возвращает 1 (ИСТИНА) или 0 (ЛОЖЬ). Если expr или pat имеют значение NULL, результат равен NULL.
  • Шаблон не обязательно должен быть литеральной строкой. Например, его можно указать как строковое выражение или столбец таблицы.
  • В соответствии со стандартом SQL, LIKE выполняет сопоставление для каждого символа, поэтому он может давать результаты, отличные от оператора сравнения =.
  • Оператор LIKE использует WILDCARDS (то есть%, _) для сопоставления с шаблоном. Это очень полезно для проверки наличия в записях определенного символа или строки.

% используется для соответствия любому количеству символов, даже нулю символов.
_ используется для соответствия ровно одному символу.

Чтобы проверить наличие буквенных символов подстановочного знака, перед ним должен быть escape-символ. Если вы не укажете символ ESCAPE, подразумевается «/».
/% используется для соответствия одному символу "%".
/ _ Соответствует одному символу "_"

Версия MySQL: 5.6

Пример: оператор MySQL LIKE

Следующая инструкция MySQL сканирует всю таблицу авторов, чтобы найти любое имя автора, имя которого начинается с символа «W», за которым следуют любые символы.

Код:

SELECT aut_name, country          
FROM author 
WHERE aut_name LIKE 'W%';

Пример таблицы: автор


Пример вывода:

 mysql> mysql> SELECT aut_name, страна          
    -> ОТ автора 
    -> ГДЕ aut_name LIKE 'W%';
+ ----------------- + --------- +
| aut_name | страна |
+ ----------------- + --------- +
| Уильям Нортон | Великобритания | 
| Уильям Моэм | Канада | 
| Уильям Энтони | Великобритания | 
+ ----------------- + --------- +
3 ряда в наборе (0,05 сек)

PHP скрипт

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>example-like- php mysql examples | w3resource</title>
<meta name="description" content="example-like- php mysql examples | w3resource">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<h2>List of authors whose name starts with 'w', along with their country:</h2>
<table class='table table-bordered'>
<tr> 
<th>Publisher</th><th>Country</th>
</tr>
<?php
$hostname="your_hostname";
$username="your_username";
$password="your_password";
$db = "your_dbname";
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
foreach($dbh->query('SELECT aut_name, country
FROM author
WHERE aut_name LIKE "W%"') as $row) {
echo "<tr>"; 
echo "<td>" . $row['aut_name'] . "</td>";
echo "<td>" . $row['country'] . "</td>";
echo "</tr>"; 
}
?>
</tbody></table>
</div>
</div>
</div>
</body>
</html>

Посмотреть пример в браузере

JSP скрипт

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>example-like</title>
</head>
<body>
<%
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String Host ="jdbc:mysql://localhost:3306/w3resour_bookinfo";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
connection = DriverManager.getConnection(Host, "root", "datasoft123");
statement = connection.createStatement();
String Data ="SELECT aut_name,country FROM author WHERE aut_name LIKE 'W%'";
rs = statement.executeQuery(Data);
%>
<TABLE border="1">
<tr width="10" bgcolor="#9979">
<td>Publisher</td>
<td>Country</td>
</tr>
<%
while (rs.next()) {
%>
<TR>
<TD><%=rs.getString("aut_name")%></TD>
<TD><%=rs.getString("country")%></TD>
</TR>
<%   }    %>
</table>
<%
rs.close();
statement.close();
connection.close();
} catch (Exception ex) {
out.println("Can’t connect to database.");
}
%>
</body>
</html>

Пример: оператор MySQL LIKE, соответствующий концу

Следующая инструкция MySQL сканирует всю таблицу авторов, чтобы найти любого автора, имя которого заканчивается строкой 'on'.

Код:

SELECT aut_name, country 
FROM author     
WHERE aut_name LIKE '%on';

Пример таблицы: автор


Пример вывода:

 mysql> SELECT aut_name, страна 
    -> ОТ автора     
    -> ГДЕ aut_name LIKE '% on';
+ ---------------- + --------- +
| aut_name | страна |
+ ---------------- + --------- +
| Уильям Нортон | Великобритания | 
| Томас Мертон | США | 
| Пирс Гибсон | Великобритания | 
| Джозеф Мильтон | США | 
+ ---------------- + --------- +
4 ряда в наборе (0,00 сек)

Пример: оператор MySQL LIKE, соответствующий строке

Следующая инструкция MySQL сканирует всю таблицу авторов, чтобы найти любого автора, в имени которого есть строка «an». Имя автора хранится в столбце aut_name.

Код:

SELECT aut_name, country 
FROM author
WHERE aut_name LIKE '%an%';

Пример таблицы: автор


Пример вывода:

 mysql> SELECT aut_name, страна 
    -> ОТ автора
    -> ГДЕ aut_name LIKE '% an%';
+ ---------------------- + ----------- +
| aut_name | страна |
+ ---------------------- + ----------- +
| Уильям Энтони | Великобритания | 
| С.Б.Сваминатан | Индия | 
| Томас Морган | Германия | 
| Джон Бежеман Хантер | Австралия | 
| Эван Хайек | Канада | 
| Батлер Андре | США | 
+ ---------------------- + ----------- +
6 рядов в наборе (0,00 сек)

Пример: оператор MySQL LIKE, соответствующий указанной строке

Следующее утверждение MySQL ищет всех авторов, чьи родные города, такие как «Лондон», «Лэндон» и т. Д., Подстановочный знак подчеркивания используется для упоминания одного символа.

Код:

SELECT aut_name, country,home_city       
FROM author        
WHERE home_city LIKE 'L_n_on';

Пример таблицы: автор


Пример вывода:

 mysql> ВЫБРАТЬ aut_name, страну, home_city       
    -> ОТ автора        
    -> ГДЕ home_city LIKE 'L_n_on';
+ -------------- + --------- + ----------- +
| aut_name | страна | home_city |
+ -------------- + --------- + ----------- +
| Пирс Гибсон | Великобритания | Лондон | 
| Си Джей Уайльд | Великобритания | Лондон | 
+ -------------- + --------- + ----------- +
2 ряда в наборе (0,00 сек)

Пример: оператор MySQL LIKE, соответствующий управляющему символу

Для поиска символа подстановки или комбинации символа подстановки и любого другого символа символу подстановки должен предшествовать строка ESCAPE. В MySQL строка ESCAPE по умолчанию - "/". Следующая инструкция MySQL возвращает те записи, чьи isbn_no содержат «_16».

код:

SELECT book_name,isbn_no,no_page,book_price 
FROM book_mast 
WHERE isbn_no LIKE '%\_16%';

Пример таблицы: book_mast


Пример вывода:

 mysql> SELECT book_name, isbn_no, no_page, book_price 
    -> ОТ book_mast 
    -> ГДЕ isbn_no НРАВИТСЯ "% / _ 16%";
+ --------------------------------- + ------------- + - -------- + ------------ +
| book_name | isbn_no | no_page | book_price |
+ --------------------------------- + ------------- + - -------- + ------------ +
| Сети и Телекоммуникации | 00009790_16 | 95 | 45,00 | 
+ --------------------------------- + ------------- + - -------- + ------------ +
1 ряд в наборе (0,00 сек)

Пример: оператор MySQL LIKE, соответствующий начальной и конечной строке

Подстановочные знаки также можно использовать в середине шаблона поиска. Следующая инструкция MySQL найдет всех авторов, чьи имена начинаются с 't' и заканчиваются на 'n'.

Код:

SELECT aut_name, country
FROM author         
WHERE aut_name LIKE 't%n';

Пример таблицы: автор


Пример вывода:

 mysql> SELECT aut_name, страна
    -> ОТ автора         
    -> ГДЕ aut_name LIKE 't% n';
+ --------------- + --------- +
| aut_name | страна |
+ --------------- + --------- +
| Томас Морган | Германия | 
| Томас Мертон | США | 
+ --------------- + --------- +
2 ряда в наборе (0,00 сек)

Слайд-шоу функции сравнения MySQL и операторов

«MySQL

Предыдущий: Меньше чем оператор (<)
Далее: НЕ МЕЖДУ И

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code