2. Что такое DML? Какие операции в него входят? Рассказать про них.

2. Что такое DML? Какие операции в него входят? Рассказать про них.

UNKNOWN

Операторы манипуляции данными (Data Manipulation Language, DML):

SELECT выбирает данные, удовлетворяющие заданным условиям,

SELECT [DISTINCT | ALL] поля_таблиц 

FROM список_таблиц 

[WHERE условия_на_ограничения_строк]

[GROUP BY условия_группировки]

[HAVING условия_на_ограничения_строк_после_группировки по агрегатным функциям]

[ORDER BY порядок_сортировки [ASC | DESC]]

[LIMIT ограничение_количества_записей]

SQL-псевдонимы: SELECT good_type_id AS id FROM GoodTypes;

Порядок выполнения инструкций (зависит от СУБД):

FROM

WHERE

GROUP BY

HAVING

SELECT

DISTINCT

ORDER BY

В предложении WHERE не доступны псевдонимы столбцов, определяемых в предложении SELECT, потому что, согласно списку, оно выполняется до SELECT WHERE условия_на_ограничения_строк [логический_оператор другое_условия_на_ограничения_строк]

- IS [NOT] NULL — позволяет узнать равно ли проверяемое значение NULL

- [NOT] BETWEEN min AND max

- [NOT] IN — позволяет узнать входит ли проверяемое значение столбца в список определённыхзначений WHERE status IN ('father', 'mother');

- [NOT] LIKE шаблон [ESCAPE символ] — позволяет узнать соответствует ли строка определённому шаблону

Трафаретные символы:

  • never%  Сопоставляется любым строкам, начинающимся на «never».
  • %ing  Сопоставляется любым строкам, заканчивающимся на «ing».
  • _ing Сопоставляется строкам, имеющим длину 4 символа, при этом 3 последних обязательно должны быть «ing». Например, слова «sing» и «wing».

ESCAPE-символ используется для экранирования трафаретных символов WHERE progress LIKE '3!%' ESCAPE '!';

Если бы мы не экранировали трафаретный символ, то в выборку попало бы всё, что начинается на 3.

Логические операторы: NOT,  OR (общее значение выражения истинно, если хотя бы одно из них истинно), AND, XOR (общее значение выражения истинно, если один и только один аргумент является истинным)

WHERE plane = 'Boeing' AND NOT town_from = 'London';

  • INSERT добавляет новые данные

Общая структура запроса с оператором INSERT

INSERT INTO имя_таблицы [(поле_таблицы, ...)]

VALUES (значение_поля_таблицы, ...)

| SELECT поле_таблицы, ... FROM имя_таблицы ...

INSERT INTO Goods (good_id, good_name, type) VALUES (5, 'Table', 2);

INSERT INTO Goods VALUES (5, 'Table', 2);

INSERT INTO Goods 

SELECT good_id, good_name, type FROM Goods where good_name = 2;

  • UPDATE изменяет существующие данные

UPDATE FamilyMembers

SET member_name = "Andie Anthony"     что делаем

WHERE member_name = "Andie Quincey"   куда делаем

UPDATE Payments

SET unit_price = unit_price * 2

  • DELETE удаляет данные;

DELETE Reservations, Rooms FROM Reservations

JOIN Rooms ON  Reservations.room_id = Rooms.id 

WHERE Rooms.has_kitchen = false;

  • TRUNCATE TABLE имя_таблицы;

У оператора TRUNCATE есть ряд отличий:

  • Не срабатывают триггеры, в частности, триггер удаления
  • Удаляет все строки в таблице, не записывая при этом удаление отдельных строк данных в журнал транзакций
  • Сбрасывает счетчик идентификаторов до начального значения
  • Чтобы использовать, необходимы права на изменение таблицы

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

Допустим, в таблице Products хранятся данные о товарах. Но цена товара нередко содержит различные надбавки типа налога на добавленную  стоимость, налога на добавленную коррупцию и так далее. Человек, добавляющий данные, может не знать все эти тонкости с налоговой базой, и он определяет чистую цену. С помощью триггера мы можем поправить цену товара на некоторую величину.

CREATE TRIGGER имя_триггера

ON {имя_таблицы | имя_представления}

{AFTER | INSTEAD OF} [INSERT | UPDATE | DELETE]

AS выражения_sql


Предыдущий вопрос: 1. Что такое DDL? Какие операции в него входят? Рассказать про них.

Следующий вопрос: 3. Что такое TCL? Какие операции в него входят? Рассказать про них.

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page