Топ-100DML команды в SQL - CodOrbits
LogoCodOrbits

Раздел: SQL

Раздел посвящён языку SQL: создание таблиц, запросы, фильтрация данных и работа с реляционными базами.

Все разделы
Иконка SQL

DML команды в SQL

Last updated: 8 мая 2025 г.

В следующую группу команд под названием DML входят команды для манипулирования данными, а именно:

  • команда SELECT для выборки данных из таблицы,
  • команда INSERT для вставки данных в таблицу,
  • команда DELETE для удаления строки таблицы
  • команда UPDATE для изменения строки таблицы.

Воспользуемся такими insert запросами для добавления категорий в таблицу с категориями.

1# INSERT INTO product_category – означает добавить 
2# в таблицу product_category.
3# Далее в скобочках перечисляем аттрибуты, 
4# в которые мы собираемся
5# добавить данные. В скобочках после VALUES 
6# указываем значения, которые будут
7# вставляться в аттрибуты, которые мы 
8# указали в предыдущих скобках.
9
10INSERT INTO product_category(category_name) 
11VALUES (‘Forniture’);
12INSERT INTO product_category(category_name) 
13VALUES (‘Electrical appliance’);

Воспользуемся такими insert запросами для добавления продуктов в таблицу с продуктами.

1# Добавляем стол. Как видим здесь уже 
2# в скобках больше имен аттребутов
3# и значений аттребутов чем в прошлых 
4# insert запросах. В таком случае
5# вставка происходит так: ‘Table’ 
6# вставляется в столбец name, 129.98
7# в столбец unit_price, ‘There should 
8# be description of product’
9# в столбец description и т.д. Думаю 
10# порядок добавления понятен.
11INSERT INTO product (name, unit_price, 
12description, additional_info, rating, 
13ratings_amount, image_url, active, 
14units_in_stock, category_id, date_created)
15# здесь видим что в аттребут 
16# category_id (то есть в столбец внешнего
17# ключа) записано значение 1, что значит 
18# что стол (‘Table’) имеет
19# категорию ‘Furniture’ (Мебель с англ.).
20VALUES (Table, 129.98, ‘There should be 
21description of product’, ‘There should be 
22some additional info like characteristics 
23or something’, 4.5, 131, 
24‘assets/img/products/clothes/placeholder.png’, 
251, 50, 1, NOW());
26
27# Подобным образом добавляем стул.
28INSERT INTO product (name, unit_price, 
29description, additional_info, rating, 
30ratings_amount, image_url, active, units_in_stock, 
31category_id, date_created)
32VALUES (‘Chair’, 79.99, ‘There should be 
33description of product’, ‘There should be some 
34additional info like characteristics or something’, 
353.5, 327, ‘assets/img/products/clothes/placeholder.png’, 
361, 300, 1, NOW());
37
38# И т.д.
39# Только здесь уже внешний ключ 2, так 
40# как лампа – это электроприбор.
41INSERT INTO product (name, unit_price, description, 
42additional_info, rating, ratings_amount, image_url, 
43active, units_in_stock, category_id, date_created)
44VALUES (‘Lamp’, 199.98, ‘There should be 
45description of product’, ‘There should be some 
46additional info like characteristics or something’, 
474.1, 700, ‘assets/img/products/clothes/placeholder.png’, 
481, 240, 2, NOW());
49
50INSERT INTO product (name, unit_price, description, 
51additional_info, rating, ratings_amount, image_url, 
52active, units_in_stock, category_id, date_created)
53VALUES (‘Toaster’, 299.99, ‘There should be description 
54of product’, ‘There should be some additional info 
55like characteristics or something’, 4.9, 206, 
56‘assets/img/products/clothes/placeholder.png’, 
571, 1256, 2, NOW());
58
59INSERT INTO product (name, unit_price, description, 
60additional_info, rating, ratings_amount, image_url, 
61active, units_in_stock, category_id, date_created)
62VALUES (‘Fan’, 169.97, ‘There should be description 
63of product’, ‘There should be some additional info 
64like characteristics or something’, 4.3, 300, 
65‘assets/img/products/clothes/placeholder.png’, 
661, 100, 2, NOW());

Давайте воспользуемся этими запросами.                

Добавим категории в таблицу категорий.

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

Теперь познакомимся с командой, которую вы будете чаще всего использовать.

Это команда 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.

Example

Приведем пример.

Перед этим мы выводили все строки аттрибутов 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.

Search Icon

То есть мы достаем обе строки с помощью or, а не and, как на первый взгляд многим может показаться нужно делать.

Далее разберем ключевое слово Update. Оно нужно для обновления каких-либо строк таблицы по какому-то условию.

Например, изменим строку таблицы где ячейка аттрибута 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.


Следующие уроки

Агрегатные функции в SQL

11
мин.

Similar Articles Icon
Divider

Group By и Having в SQL

15
мин.

Similar Articles Icon
Divider

Подзапросы в SQL

10
мин.

Similar Articles Icon