- •Типы данных столбцов
- •Пример:
- •То автоматически генерируется уникальный id (то же, если поле id вообще не указывать в команде вставки).
- •Обычно, следует выполнять select для set-столбца, используя оператор like или функцию find_in_set():
- •Но и такая форма также работает:
- •'Yyyy-mm-dd',yy-mm-dd' Например '98-12-31', "98.12.31', '98/12/31'
- •Describe messy # Описать таблицу 'messy'
- •Например, drop table people, animals, plants удалит эти три таблицы. Drop table oh_no, help_me, dont_do_it # Удалить таблицы 'oh_no', 'help_me' и 'dont_do_it'
- •Например, можно указать следующее:
- •Но нельзя указать:
- •Например:
- •Быстрая загрузка данных
- •Синтаксис оператора truncate
- •Примеры:
- •(Например, select name from people; select mydata.People.Name from people ).
- •Подзапросы -- Язык sql разрешает использовать в других операторах языка dml подзапросы, которые являются внутренними запросами, определяемыми оператором select.
- •Применение подзапросов в операторах изменения данных
- •Демонстрируется использование mysql в качестве несложного калькулятора:
- •Проверка таблицы при помощи команды describe:
- •Выборка всех данных
- •Выборка определенных строк. Выборка с условием Из таблицы можно выбрать и только нужные строки, если надо проверить правильность внесенных в дату рождения собаки Bowser изменений:
- •В условиях может указываться любой из столбцов:
- •Условия можно и комбинировать, например для того, чтобы выделить всех собак женского пола:
- •В предыдущем запросе использован оператор and. Существует еще и оператор or:
- •Операторы and и or можно использовать совместно.
- •Выборка определенных столбцов Достаточно просто перечислить имена нужных столбцов, разделив их запятыми.
- •Получить имена владельцев животных можно с помощью следующего запроса:
- •Сократить количество выводимых строк можно, воспользовавшись ключевым словом distinct - тогда будут выводиться только уникальные записи:
- •При помощи выражения where можно комбинировать выбор строк и столбцов. Например для того, чтобы загрузить даты рождения только кошек и собак, можно воспользоваться следующим запросом:
- •Сортировка строк Для этого используется выражение order by.
- •Предположим, нужно узнать, в каком возрасте животные давали приплод:
- •В этом запросе мы указываем псевдонимы имен таблицы, для обращения к столбцам и определения, к какой из таблиц относится каждая ссылка на столбец.
- •Сортировку можно проводить по нескольким столбцам сразу.
- •Отсортировать результаты по возрасту также можно при помощи выражения order by:
- •Этот запрос подсчитывает, сколько различных дней входит в данную комбинацию год/месяц, автоматически исключая дублирующиеся значения.
В условиях может указываться любой из столбцов:
mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";
name |
owner |
species |
sex |
birth |
death |
Chirpy |
Gwen |
bird |
f |
1998-09-11 |
NULL |
Puffball |
Diane |
hamster |
f |
1999-03-30 |
NULL |
Условия можно и комбинировать, например для того, чтобы выделить всех собак женского пола:
mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";
name |
owner |
species |
sex |
birth |
death |
Buffy |
Harold |
dog |
f |
1989-05-13 |
NULL |
В предыдущем запросе использован оператор and. Существует еще и оператор or:
mysql> SELECT * FROM pet WHERE species = "snake" OR species = "bird";
name |
owner |
species |
sex |
birth |
death |
Chirpy |
Gwen |
bird |
f |
1998-09-11 |
NULL |
Whistler |
Gwen |
bird |
NULL |
1997-12-09 |
NULL |
Slim |
Benny |
snake |
m |
1996-04-29 |
NULL |
Операторы and и or можно использовать совместно.
SELECT * FROM pet WHERE (species = "cat" AND sex = "m") OR (species = "dog" AND sex = "f");
name |
owner |
species |
sex |
birth |
death |
Claws |
Gwen |
cat |
m |
1994-03-17 |
NULL |
Buffy |
Harold |
dog |
f |
1989-05-13 |
NULL |
Выборка определенных столбцов Достаточно просто перечислить имена нужных столбцов, разделив их запятыми.
mysql> SELECT name, birth FROM pet;
name |
birth |
Fluffy |
1993-02-04 |
Claws |
1994-03-17 |
Buffy |
1989-05-13 |
Fang |
1990-08-27 |
Bowser |
1989-08-31 |
Chirpy |
1998-09-11 |
Whistler |
1997-12-09 |
Slim |
1996-04-29 |
Puffball |
1999-03-30 |
Получить имена владельцев животных можно с помощью следующего запроса:
mysql> SELECT owner FROM pet;
owner |
Harold |
Gwen |
Harold |
Benny |
Diane |
Gwen |
Gwen |
Benny |
Diane |
Сократить количество выводимых строк можно, воспользовавшись ключевым словом distinct - тогда будут выводиться только уникальные записи:
mysql> SELECT DISTINCT owner FROM pet;
owner |
Benny |
Diane |
Gwen |
Harold |