В следующую группу команд под названием DML
входят команды для манипулирования данными, а именно:
- команда
SELECT
для выборки данных из таблицы, - команда
INSERT
для вставки данных в таблицу, - команда
DELETE
для удаления строки таблицы - команда
UPDATE
для изменения строки таблицы.
Воспользуемся такими insert
запросами для добавления категорий в таблицу с категориями.
Воспользуемся такими insert
запросами для добавления продуктов в таблицу с продуктами.
Давайте воспользуемся этими запросами.
Добавим категории в таблицу категорий.

Добавим продукты в таблицу с продуктами.

Теперь познакомимся с командой, которую вы будете чаще всего использовать.
Это команда SELECT
для выборки данных из таблицы.
Выбирать все данные из таблицы с категориями можно с помощью запроса:
SELECT * FROM product_category;
После select указываются имена атрибутов данные, которых мы хотим выбрать из таблицы. В данном случае указана *
, что значит что нужно выбрать данные вообще всех атрибутов в таблице.
После from указывается из какой таблицы мы собираемся выбирать данные аттрибутов. В данном случае из таблицы product_category
.
Таким образом вбив данную команду в mysql консоли можно увидеть всё содержимое таблицы product_category
.

Таким образом мы выбрали данные всех аттрибутов в таблице. Аттрибута там два – id
и category_name
.
Эти данные, как мы помним, мы туда ранее добавляли с помощью insert
.
Теперь выберем столбцы name и unit_price из таблицы с продуктами запросом:
SELECT name,unit_price FROM product;

Видим, что мы выбрали этой командой только два аттрибута.
Как же нам теперь выбрать отдельную строку или несколько строк таблицы, а не все строки?
Для этого существует слово Where
.
Приведем пример.
Перед этим мы выводили все строки аттрибутов name и unit_price.
Теперь выведем только те строки аттрибутов name и unit_price где в аттрибуте id стоит 1. Ясное дело это будет одна строка, так как мы извлекаем по ключу id.
Это можно сделать командой:
SELECT name,unit_price FROM product WHERE id = 1;

Как видим, мы получили одну строку. Эта строка, в которой ячейка аттрибута id равна единице. Давайте даже проверим это:

Действительно, как видим Table, 129,98 и 1 находятся в одной строке.
Словом SELECT мы задаем какие аттрибуты выбирать, а словом where какие строки. Точнее говоря словом Where мы задаем условие по которому происходит выборка строк.
Выберем теперь несколько строк и также выведем аттрибут id
.

Как видим мы воспользовались ключевым логическим оператором or(или)
.
В условиях можно писать все стандартные логические операторы and
, or или not
.
А в данном случае мы запросили строки таблицы с продуктами где в ячейке аттрибута id находиться 2 или 4.
То есть мы достаем обе строки с помощью or, а не and, как на первый взгляд многим может показаться нужно делать.
Далее разберем ключевое слово Updat
e
. Оно нужно для обновления каких-либо строк таблицы по какому-то условию.
Например, изменим строку таблицы где ячейка аттрибута id = 5. Менять мы будем ячейку аттрибута цены продукта в этой строке.
Для этого воспользуемся запросом:
UPDATE product SET unit_price = 299 WHERE id = 5;

Посмотрим теперь содержимое таблицы после изменений:

Как мы помним, в строке где id был 5 цена была 169.97, теперь она изменилась на 299.
Вернем обратно с помощью запроса:
UPDATE product SET unit_price = 169.97 WHERE id = 5;

Далее разберем ключевое слово Delete
. Оно нужно для удаления строк таблицы.
Например, удалим строки таблицы у которых id >= 3. То есть удалиться строка с id=3, строка с id=4 и строка с id=5.
Сделаем это с помощью запроса:
DELETE product WHERE id >= 3;.

Как видим, три последние строки таблицы удалились.
Вернем их обратно.

Проверим содержимое таблицы теперь.

Как видим, они вернулись, но уже с другими id.