Общий термин для INSERT
, UPDATE
, DELETE
и MERGE
является «обновление» (хотя это может вызвать путаницу - и не идеал - это UPDATE
просто подмножество «обновления»). Альтернативным термином является «реляционное присвоение».
Общий термин для SELECT
, INSERT
, UPDATE
, DELETE
, MERGE
(и все остальное завершается точкой с запятой) известен как «заявление».
Строго говоря, «запрос» представляет собой оператор SELECT
, который возвращает набор результатов (который, например, исключает операторы SELECT..INTO..FROM
). Однако использование термина «запрос» для ссылки на обновление, хотя и неофициальное, к сожалению, очень распространено. Например, хотя «запрос обновления» является оксюмороном, когда я выполняю поиск Google для этого сайта с использованием этого точного термина (site:stackoverflow.com "update query"
), я получаю 17,300 хитов!
UPDATE (каламбур indended :)
@David Маркс: Я не согласен с вашим утверждением, что это уместно сослаться к INSERT/DELETE/MERGE как 'обновление'. Это было бы предельно запутывающим. Только обновление UPDATE является обновлением.
В своем первоначальном ответе я согласился с тем, что ситуация может сбить с толку. Нам повезло, что Stackoverflow сможет отформатировать ответы и комментарии, чтобы ключевое слово UPDATE
можно было отличить от логического обновления; запись ключевых слов в верхнем регистре (как требуется Full Standard SQL-92 :) также помогает.
Однако, прочитав общую базу данных и вычислительную научную литературу, я могу сказать вам, что «обновление» действительно является правильным коллективным термином. Я ниже предоставить цитату для этого:
«Введение в теории реляционных баз данных» (2010 г.), Хью Дарвен [доступен как бесплатно скачать PDF файл - Google это):
Различные операторы обновления ожидается в реляционной СУБД обычно называются INSERT
, DELETE
и UPDATE
, а это имена , используемые в учебнике D (также в SQL) [стр.28]
К сожалению, ключевое слово UPDATE
стало настолько широко принято в качестве имени только один конкретного оператора для обновления баз данных. Пожалуйста, не стреляйте в посланника! [С.168]
хотя [реляционное] назначение теоретически достаточно для целей обновления, как правило, более удобно использовать сокращенную , выражающую разность между текущим значением целевой relvar и новым значением. Иногда ... это отличие только от добавления одного или нескольких кортежей к существующему набору; иногда это просто изменяет некоторые значения атрибутов некоторых из существующих кортежей ; и иногда это просто удаление некоторых из существующих кортежей . Shorthands для этих трех частных случаев были переданы как INSERT
, UPDATE
и DELETE
соответственно, со временем незапамятных - другими словами, еще до появления реляционных баз данных , хотя конечно до этого появления мишеней обновлений были файлы, не relvars или таблицы SQL [с.165]
Ну, почти все книги SQL у меня есть красный, говорит команда 'INSERT/UPDATE/delete' – Rahul
мне нужно создать абстрактные классы для моей команды в порядке для реализации единицы работы, командного шаблона с Entity Framework. Я хотел, чтобы у абстрактных классов был метод Execute шаблона, который позаботился о настройке и saveChanges, так что именование было важно. То, что я придумал: AbstractMutateCommand, AbstractUpdateCommand, AbstractWriteCommand. Выбрал последний. –
Я ищу то же самое - термин для 'select/insert/update/delete', но ** ** ** для вызова процедуры. Думаю, я назову это «заявлением». –