Вы, кажется, думаете, что REST является отличным протоколом.
REST не является протоколом. Это - стиль дизайна для основанных на HTTP приложений.
Так, Ваш запись приложения HTTP. Заголовки шифруются? Да, если Вы используете HTTPS (HTTP по SSL) протокол вместо плоскости HTTP.
сертификаты Наличия с обеих сторон не непосредственно относится к Вашему вопросу. Сертификаты SSL используются для аутентификации. Они помогают в обнаружении атак "человек посередине" тех, которые являются возможным отравлением кэшем DNS использования.
В соответствии со стандартом SQL разница заключается в обработке завершающих пробелов в столбцах CHAR. Пример:
create table t1 ( c10 char(10) );
insert into t1 values ('davyjones');
select * from t1 where c10 = 'davyjones';
-- yields 1 row
select * from t1 where c10 like 'davyjones';
-- yields 0 rows
Конечно, если вы запускаете это в стандартной СУБД. Кстати, это одно из основных различий между CHAR и VARCHAR.
LIKE
разрешает частичное соответствие / использование подстановочных знаков, а =
проверяет точное совпадение.
Например,
SELECT * FROM test WHERE field LIKE '%oom';
вернет строки, где значение поля может быть любым из следующих:
Zoom, Boom, Loom, Groom
В этом случае нет никакой разницы в результатах. Однако он использует другой метод для сравнения, и "LIKE" будет намного медленнее.
Посмотрите здесь примеры LIKE: http://www.techonthenet.com/sql/like.php
В этом случае вы по-прежнему хотите использовать равные.
Обновление : обратите внимание, что существует решающее различие, когда дело доходит до столбцов типа CHAR, в которых результаты будут другими. См. этот ответ для получения более подробной информации. При использовании VARCHAR (предположительно норма) приведенные выше эквивалентны, и предпочтение отдается равному.
LIKE
позволяет использовать подстановочные знаки, такие как %
(здесь любое количество символов) и _
(здесь один символ).
SELECT * FROM users WHERE username LIKE 'joe%'
Выбирает все имена пользователей, начинающиеся с joe
.
LIKE ищет шаблон.
/* Returns all users whose username starts with "d" */
SELECT * FROM users WHERE username LIKE 'd%'
/* Returns all users whose username contains "dav" */
SELECT * FROM users WHERE username LIKE '%dav%'
Это даст вам тот же результат. Однако LIKE допускает использование подстановочных знаков, например ...
SELECT * FROM users WHERE username LIKE 'davy%'
Единственная проблема синтаксиса заключалась в двойных кавычках вместо одинарных
LIKE поддерживает подстановочные знаки. Обычно для подстановочного знака используется символ% или _.
Использование оператора LIKE без подстановочных знаков аналогично использованию оператора =.
The LIKE
condition allows you to use wildcards:
SELECT * FROM suppliers
WHERE supplier_name like 'Hew%';
and Equals =
is used for equality matching.
Equals '='
просто для равенства. С другой стороны, LIKE
поддерживает сопоставление подстановочных знаков SQL.
Итак, с помощью LIKE
вы можете указать имя типа «% jones»
, чтобы получить все имена оканчивается на Джонс. При использовании LIKE
символ процента '%'
может быть любым, нулевой длины или более, а символ подчеркивания '_'
- это любой один символ.
Насколько я знаю, нет никакой разницы, кроме затрат времени на два выбранных вами выбора. Обычно LIKE
используется вместе с %
, что означает «любая строка». Я думаю, что есть также символ, который можно использовать с LIKE
для «любого символа», не знаю, что это такое, без поиска в Google.
Но по мере того, как ваши два выбора идут, единственная разница, которую я вижу, это другое время выполнения, поскольку LIKE
используется в моде регулярного выражения.
Подобно тому, как
заставляет вас работать с операторами подстановочных знаков, вы можете использовать его в своем случае для , например 'davyjon%'
, чтобы получить все результаты, начиная с davyjon
, и чтобы получить точное значение, поместите 'davyjones'
, и вы также можете использовать =
в этом случае
Подобно оператору сопоставления с образцом, а =
- оператору точного сопоставления. т.е. где имя вида W%
означает начало с W
и после этого один или несколько символов
и =
т.е. где name = 'James'
, это точное совпадение