- •Типы данных столбцов
- •Пример:
- •То автоматически генерируется уникальный 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 в качестве несложного калькулятора:
mysql> SELECT SIN(PI()/4), (4+1)*5;
SIN(PI()/4) |
(4+1)*5 |
0.707107 |
25 |
Проверка таблицы при помощи команды describe:
mysql> DESCRIBE pet;
Field |
Type |
Null |
Key |
Default |
Extra |
name |
varchar(20) |
YES |
|
NULL |
|
owner |
varchar(20) |
YES |
|
NULL |
|
species |
varchar(20) |
YES |
|
NULL |
|
sex |
char(1) |
YES |
|
NULL |
|
birth |
date |
YES |
|
NULL |
|
death |
date |
YES |
|
NULL |
|
Выборка всех данных
mysql> SELECT * FROM pet;
name |
owner |
species |
sex |
birth |
death |
Fluffy |
Harold |
cat |
f |
1993-02-04 |
NULL |
Claws |
Gwen |
cat |
m |
1994-03-17 |
NULL |
Buffy |
Harold |
dog |
f |
1989-05-13 |
NULL |
Fang |
Benny |
dog |
m |
1990-08-27 |
NULL |
Bowser |
Diane |
dog |
m |
1998-08-31 |
NULL |
Chirpy |
Gwen |
bird |
f |
1998-09-11 |
NULL |
Whistler |
Gwen |
bird |
f |
1997-12-09 |
NULL |
Slim |
Benny |
snake |
m |
1996-04-29 |
NULL |
Puffball |
Diane |
hamster |
f |
1999-03-30 |
NULL |
Выборка определенных строк. Выборка с условием Из таблицы можно выбрать и только нужные строки, если надо проверить правильность внесенных в дату рождения собаки Bowser изменений:
mysql> SELECT * FROM pet WHERE name = "Bowser";
name |
owner |
species |
sex |
birth |
death |
Bowser |
Diane |
dog |
m |
1989-08-31 |
1995-07-29 |