Мы увидели команду 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 может использоваться вместе с командой DELETE или UPDATE SQL также для указания условия.

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

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

Это будет использовать команду 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 —

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'SELECT tutorial_id, tutorial_title, 
      tutorial_author, submission_date
      FROM tutorials_tbl
      WHERE tutorial_author = "Sanjay"';

   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Tutorial ID :{$row['tutorial_id']}  <br> ".
      "Title: {$row['tutorial_title']} <br> ".
      "Author: {$row['tutorial_author']} <br> ".
      "Submission Date : {$row['submission_date']} <br> ".
      "--------------------------------<br>";
   } 

   echo "Fetched data successfully\n";
   mysql_close($conn);
?>