sql. Операции над данными. Insert, update, delete | MetodPro.ru

Реклама на сайте

sql. Операции над данными. Insert, update, delete


SQL - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

 

Операторы SQL делятся на:

  • операторы определения данных (DataDefinitionLanguage, DDL)
  • операторы манипуляции данными (DataManipulationLanguage, DML)
  • операторы определения доступа к данным (DataControlLanguage, DCL)
  • операторы управления транзакциями (TransactionControlLanguage, TCL)

 

INSERT —позволяет добавить строки в таблицу, заполняя их значениями. Значения можно вставлять перечислением с помощью слова values и перечислив их в круглых скобках через запятую или оператором select.

 

Примеры использования

Используя перечисление значений, с указанием столбцов:

INSERTINTO<название таблицы> ([<Имя столбца>, ... ]) VALUES (<Значение>,...)

Используя перечисление значений, без указания столбцов:

INSERTINTO<название таблицы>VALUES (<Значение>,...)

Используя select:

INSERTINTO<название таблицы>SELECT<имя столбца>,...FROM<название таблицы>

В последнем случае, в таблицу может вставиться более одной записи. Если в таблице есть другие поля требующие заполнения, но не указанные в операторе insert, для них будет установлено значение по умолчанию, либо null, если значение по умолчанию не указано.

 

Если при создании таблицы для поля был указан параметр notnull и не было определено значение по умолчанию, то при отсутствии для него вставляемого значения возникнет ошибка. Решение: либо убрать параметр notnull; либо указать значение по умолчанию; либо вставить значение.

 

Если произойдет попытка вставки в поле с типом identity (автоинкремент), то также произойдет ошибка. Решение: не вставлять значение в это поле; указать опцию identity_inserton после чего вставить уникальное значение для этого столбца (SETidentity_insertON). После включения этой опции можно вставлять значения в поля определенные как identity. Нужно учесть, что значение должно быть уникальным. Включать эту опцию не рекомендуется, её следует использовать в записях в которых нужно сменить некоторые столбцы, не поменяв её identity столбец (например если по этому столбцу подцепляется другая таблица)

 

UPDATE — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы.

 

Общий вид команды:

UPDATE [top(x)] <объект>

SET<присваивание1 [, присваивание2, ...]>

[WHERE<условие>]

[OPTION<хинт1 [, хинт2, ...]>]

top(x) — команда выполнится только х раз

<объект> — объект, над которым выполняется действие (таблица или представление(views))

<присваивание> — присваивание, которое будет выполняться при каждом выполнении условия <условие>, или для каждой записи, если отсутствует раздел where

<условие> — условие выполнения команды

<хинт> — инструкция программе как исполнить запрос

Delete— в языках, подобных SQL, DML-операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае, если критерий отбора не определён, выполняется удаление всех записей. При наличии на таблице внешних ключей все дочерние к удаляемым записи в подчинённых таблицах также должны быть удалены для обеспечения ссылочной целостности; В СУБД, поддерживающих транзакции, выполнение операции Delete должно быть подтверждено (COMMIT), либо опровергнуто (ROLLBACK) вызовом соответствующих операций.

 

DELETEFROM<Имя Таблицы>WHERE<Условие отбора записей>

 

Последствием выполнения такой команды будет удаление тех строк из таблицы <Имя Таблицы>, которые соответствуют условию <Условие отбора записей>.

 

Связанные команды

 

Удаление всех записей из таблицы при наличии внешних ключей и механизме транзакций может занять продолжительное время. Для полной очистки таблицы может быть использована операция TRUNCATE.



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем