Операторы манипулирования данными
Для манипулирования данными, хранящимися в БД, используется группа операторов SQL - DML (Data Manipulation Language). С помощью операторов DML пользователь может загружать в таблицы новые данные, модифицировать и удалять существующие данные. В языке SQL определены три основных оператора DML:
§ INSERT – вставка;
§ UPDATE - обновление;
§ DELETE - удаление.
Оператор INSERT
Процесс ввода в таблицу базы данных новой информации обычно называется загрузкой данных. Для загрузки данных используется оператор INSERT. Для добавления к таблице новой записи используется следующая синтаксическая форма оператора INSERT:
INSERT INTO имя_таблицы
VALUES (значение_1, значение_2, … значение_М)
Список VALUES должен содержать количество значений, равное количеству полей таблицы. Причем тип данных каждого из значений, указываемых в списке VALUES, должен совпадать с типом данных поля, соответствующего этому значению. Значения, относящиеся к символьным типам и датам, должны быть заключены в апострофы. В списке значений может также использоваться значение NULL.
Пусть требуется добавить значения в таблицу «Экземпляры», в этом случае запрос на добавление будет выглядеть следующим образом:
INSERT INTO Экземпляры
VALUES (231, ‘5-272-00278-4’, 0, true, NULL, NULL)
При добавлении данных в таблицу можно заполнять не все поля, а лишь необходимые. В этом случае используется следующая синтаксическая форма оператора INSERT:
INSERT INTO имя_таблицы (имя_поля_1, имя_поля_2… имя_поля_М)
VALUES (значение_1, значение_2… Значениe_N)
Пусть требуется добавить значения в таблицу «Экземпляры», в этом случае запрос на добавление будет выглядеть следующим образом (в таблице «Экземпляры» пустые значения могли бы выставляться по умолчанию):
INSERT INTO Экземпляры (Инв_номер, ISBN, Наличие )
VALUES (231, ‘5-272-00278-4’, true)
Список полей в операторе INSERT может иметь произвольный порядок, не зависящий от порядка задания полей при создании таблицы. Однако список значений должен соответствовать порядку, в котором указаны поля, связанные с этими значениями.
Оператор UPDATE
Для изменения данных, уже занесенных в таблицу, используется оператор UPDATE. Данный оператор не добавляет новых записей в таблицу, а заменяет существующие данные новыми. Оператор UPDATE может быть применен как к одному полю таблицы (наиболее часто используемый случай), так и к нескольким полям. Количество изменяемых записей зависит от потребностей пользователя - с помощью UPDATE можно изменить как одну, так и несколько записей (вплоть до изменения значения всех записей, содержащихся в таблице).
Для изменения данных только в одном из полей таблицы используется наиболее простая форма оператора UPDATE, имеющая следующий вид:
UPDATE имя_таблицы
SET имя_поля = значение
[WHERE условие]
После ключевого слова UPDATE указывается имя таблицы, в которой модифицируются данные, после ключевого слова SET выполняется присвоение полю с заданным именем нового значения. Условие, задаваемое с помощью необязательного предложения WHERE, определяет количество записей, которые будут модифицированы. Пусть требуется изменить домашний телефон читателя с читательским билетом № 325, в этом случае мы получим следующий запрос:
UPDATE Читатели
SET Тел_дом = '6-15-48'
WHERE Номер_ЧБ = 325
Данный оператор изменит значение номера телефона только для записи, соответствующей читателю, зарегистрированному в базе данных под номером 325. Если бы мы не задали ограничительного условия в приведенном выше операторе, то значение номера телефона было бы изменено для всех записей в таблице!
С помощью оператора UPDATE можно одновременно изменять значения в нескольких полях таблицы. Для этого следует указать после ключевого слова SET не одно, а несколько полей:
UPDATE имя_таблицы
SET имя_поля_1 = значение_1.
имя_поля_2 = значение_2.
иня_поля_М = значение_Н [WHERE условие]
Использование оператора в данной форме ничем не отличается от рассмотренного ранее. Здесь точно так же нужно быть очень осторожным при формировании условия.
Дата добавления: 2015-11-18; просмотров: 647;