PHP скрипты

MySQL

Apache

phpMyADmin

2.9: Выбор конкретных строк из таблицы MySQL

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Выбор конкретных строк из таблицы MySQL

Вы можете выбирать только специфические строки из вашей таблицы. Например, если вы хотите проверить изменение, которое произвели в дате рождения собаки Bowser, выберите запись для Bowser:

mysql> SELECT * FROM pet WHERE name = «Bowser»;
+----------+--------+---------+------+------------+------------+
| name     | owner  | species | sex  | birth      | death      |
+----------+--------+---------+------+------------+------------+
| Bowser   | Diane  | собака  | m    | 1989-08-31 | 1995-07-29 |
+----------+--------+---------+------+------------+------------+

Вывод подтверждает, что год теперь правильно зарегистрирован как 1989, а не 1998.

Сравнения строк обычно не чувствительны к регистру, так что вы можете определять имя как bowser, BOWSER или как хотите. Результат запроса всегда будет тот же самый.

Вы можете определять произвольные условия в любом столбце, не только на паше. Например, если вы хотите знать, какие животные родились после 1998 года, проверьте столбец birth:

mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";
+----------+--------+---------+------+------------+------------+
| name     | owner  | species | sex  | birth      | death      |
+----------+--------+---------+------+------------+------------+
| Chirpy   | Gwen   | птичка  | f    | 1998-09-11 | NULL       |
| Puffball | Diane  | хомяк   | f    | 1999-03-30 | NULL       |
+----------+--------+---------+------+------------+------------+

Вы можете объединять условия, например, найти самок собак:

mysql> SELECT * FROM pet WHERE species="собака" AND sex="f";
+----------+--------+---------+------+------------+------------+
| name     | owner  | species | sex  | birth      | death      |
+----------+--------+---------+------+------------+------------+
| Buffy    | Harold | собака  | f    | 1989-05-13 | NULL       |
+----------+--------+---------+------+------------+------------+

Предшествующий запрос использует логический оператор AND (И). Имеется также оператор OR (ИЛИ). Например, найдем всех змей и птичек в нашей таблице:

mysql> SELECT * FROM pet WHERE species="змея" OR species="птичка";
+----------+--------+---------+------+------------+------------+
| name     | owner  | species | sex  | birth      | death      |
+----------+--------+---------+------+------------+------------+
| Chirpy   | Gwen   | птичка  | f    | 1998-09-11 | NULL       |
| Whistler | Gwen   | птичка  | NULL | 1997-12-09 | NULL       |
| Slim     | Benny  | змея    | m    | 1996-04-29 | NULL       |
+----------+--------+---------+------+------------+------------+

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

mysql> SELECT * FROM pet WHERE (species = "кошка" AND sex = "m") OR
    -> (species = "собака" AND sex = "f");

+----------+--------+---------+------+------------+------------+
| name     | owner  | species | sex  | birth      | death      |
+----------+--------+---------+------+------------+------------+
| Claws    | Gwen   | кошка   | m    | 1994-03-17 | NULL       |
| Buffy    | Harold | собака  | f    | 1989-05-13 | NULL       |
+----------+--------+---------+------+------------+------------+

Поделиться с друзьями