Общий термин для INSERT
, UPDATE
, DELETE
и MERGE
является «обновлением» (даже если это потенциально сбивает с толку - и не идеально - что UPDATE
является просто подмножеством "обновление"). Альтернативный термин - «реляционное назначение».
Общий термин для SELECT
, INSERT
, UPDATE
, DELETE
, MERGE
(и все остальное, оканчивающееся точкой с запятой) известен как «оператор».
Строго говоря, «запрос» - это оператор SELECT
, который возвращает набор результатов (который, например, исключает операторы SELECT..INTO..FROM
). Однако использование термина «запрос» для ссылки на обновление, хотя и неофициальное, к сожалению, очень распространено. Например, хотя «запрос на обновление» является оксюмороном, когда я выполняю поиск в Google для этого сайта, используя именно этот термин (site:stackoverflow.com "update query"
), я получаю 17 300 посещений!
ОБНОВЛЕНИЕ (с каламбуром :)
@ Дэвид Маркс: Я не согласен с вашим утверждением, что уместно
вставить / удалить / слить как «обновление». Это было бы чрезвычайно
сбивает с толку. Только ОБНОВЛЕНИЕ является обновлением.
В своем первоначальном ответе я согласился, что ситуация потенциально запутанная. Нам повезло, что Stackoverflow может форматировать ответы и комментарии, чтобы ключевое слово UPDATE
можно было отличить от логического обновления; написание ключевых слов в верхнем регистре (как того требует полный стандарт SQL-92 :) также помогает.
Однако, прочитав основную литературу по базам данных и вычислительной технике, я могу сказать, что «обновление» - это действительно правильный собирательный термин. Ниже я приведу цитату для этого:
«Введение в теорию реляционных баз данных» (2010), Хью Дарвен [доступно для бесплатной загрузки в формате pdf - Google it):
Различные операторы обновления, ожидаемые в реляционной СУБД,
обычно называется INSERT
, DELETE
и UPDATE
, и это
имена, используемые в Учебном пособии D (также в SQL) [стр.28]
К сожалению, ключевое слово UPDATE
стало настолько широко
принимается как имя только одного конкретного оператора для обновления
базы данных. Пожалуйста, не стреляйте в курьера! [С.168]
хотя [реляционное] присваивание теоретически достаточно для
В целях обновления обычно удобнее использовать стенографию
выражая разницу между текущим значением цели
relvar и новое значение. Иногда ... эта разница только
добавление одного или нескольких кортежей к существующему набору; иногда это
просто изменяется на некоторые из значений атрибутов некоторых из существующих
кортежи; а иногда это просто удаление некоторых из существующих
кортежи. Сокращения для этих трех конкретных случаев были переданы
как INSERT
, UPDATE
и DELETE
соответственно, так как время
испокон веков - другими словами, еще до появления реляционных
базы данных, хотя, конечно, до этого появляются цели
обновления были файлами, а не relvars или таблицами SQL [стр.165]