Учебники

MySQL — предложение WHERE

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

Синтаксис

Следующий блок кода имеет общий синтаксис SQL команды SELECT с предложением WHERE для извлечения данных из таблицы MySQL:

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Вы можете использовать одну или несколько таблиц, разделенных запятой, для включения различных условий с помощью предложения WHERE, но предложение WHERE является необязательной частью команды SELECT.

  • Вы можете указать любое условие, используя предложение WHERE.

  • Вы можете указать более одного условия, используя операторы AND или OR .

  • Предложение WHERE может использоваться вместе с командой SQL DELETE или UPDATE также для указания условия.

Вы можете использовать одну или несколько таблиц, разделенных запятой, для включения различных условий с помощью предложения WHERE, но предложение WHERE является необязательной частью команды SELECT.

Вы можете указать любое условие, используя предложение WHERE.

Вы можете указать более одного условия, используя операторы AND или OR .

Предложение WHERE может использоваться вместе с командой SQL DELETE или UPDATE также для указания условия.

Предложение WHERE работает как условие if в любом языке программирования. Это предложение используется для сравнения заданного значения со значением поля, доступным в таблице MySQL. Если данное значение извне равно значению доступного поля в таблице MySQL, то он возвращает эту строку.

Вот список операторов, которые можно использовать с предложением WHERE .

Предположим, что поле A содержит 10, а поле B содержит 20, тогда —

оператор Описание пример
знак равно Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным. (A = B) не соответствует действительности.
знак равно Проверяет, равны ли значения двух операндов или нет, если значения не равны, то условие становится истинным. (A! = B) верно.
> Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным. (A> B) не соответствует действительности.
< Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A <B) верно.
> = Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. (A> = B) не соответствует действительности.
<= Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. (A <= B) верно.

Предложение WHERE очень полезно, когда вы хотите извлечь выбранные строки из таблицы, особенно когда вы используете MySQL Join . Объединения обсуждаются в другой главе.

Обычной практикой является поиск записей с использованием первичного ключа для ускорения поиска.

Если данное условие не соответствует ни одной записи в таблице, запрос не будет возвращать ни одной строки.

Извлечение данных из командной строки

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

пример

В следующем примере будут возвращены все записи из таблицы tutorials_tbl, для которой имя автора Sanjay .

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl WHERE tutorial_author = 'Sanjay';
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|      3      | JAVA Tutorial  |      Sanjay     |    2007-05-21   |      
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)

mysql>

Если сравнение строки LIKE не выполняется, сравнение не учитывает регистр. Вы можете сделать поиск чувствительным к регистру, используя ключевое слово BINARY следующим образом:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl \
   WHERE BINARY tutorial_author = 'sanjay';
Empty set (0.02 sec)

mysql>

Извлечение данных с использованием PHP-скрипта

Вы можете использовать ту же команду SQL SELECT с WHERE CLAUSE в функцию PHP mysql_query () . Эта функция используется для выполнения команды SQL, а затем другая функция PHP mysql_fetch_array () может использоваться для извлечения всех выбранных данных. Эта функция возвращает строку в виде ассоциативного массива, числового массива или обоих. Эта функция возвращает FALSE, если строк больше нет.

пример

В следующем примере будут возвращены все записи из таблицы tutorials_tbl, для которой имя автора Sanjay