Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000555.doc
Скачиваний:
31
Добавлен:
30.04.2022
Размер:
19.12 Mб
Скачать

9.3.2. Удаление значений

С помощью SQL можно удалять строки из таблицы.

Это можно сделать с помощью команды - DELETE. Она может удалять только строки, а не индивидуальные значения полей, так что параметр поле является необязательным или недоступным.

Чтобы удалить все содержание таблицы Sotrydniki можно ввести следующее условие:

DELETE FROM Sotrydniki;

Теперь, когда таблица пуста, ее можно окончательно удалить командой DROP TABLE

Обычно, нужно удалить только некоторые определенные строки из таблицы.

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

DELETE FROM Sotrydniki

WHERE NumberS = 105;

9.3.3. Изменение значений

В SQL для изменения некоторых или всех значений в существующей строке используется команда UPDATE.

Эта команда содержит предложение UPDATE, в котором указано имя используемой таблицы, и предложение SET, указывающее на изменение, которое нужно сделать для определенного столбца. Например, чтобы изменить стаж всех сотрудников, на равный 15 лет, можно ввести

UPDATE Sotrydniki

SET AgeS = 15;

Для изменения единственного значения команду UPDATE можно использовать с предикатом.

Вот как, например, можно выполнить изменение стажа сотрудника Ivanov, имеющего личный номер 105.

UPDATE Sotrydniki

SET AgeS = 18

WHERE NumberS = 105;

Предложение SET может содержать любое число столбцов, отделяемых запятыми. Все указанные назначения могут быть сделаны для любой табличной строки, но только для одной в каждый момент времени. Предположим, что сотрудник Ivanov ушел на пенсию, и мы хотим переназначить его номер новому сотруднику - Petrov

UPDATE Sotrydniki

SET NameS = 'Petrov', OfficeS = 'Voschod', AgeS = 10

WHERE NumberS = 105;

В предложении SET команды UPDATE можно использовать скалярные выражения, однако, включив его в выражение поля, которое будет изменено.

В этом его отличие от предложения VALUES команды INSERT, в которой выражения не могут использоваться. Это свойство скалярных выражений - весьма полезна особенность.

Предположим, что уточненные данные показали, стаж сотрудников нужно увеличить на два года. Для этого можно использовать следующее выражение:

UPDATE Sotrydniki

SET AgeS = AgeS + 2

UPDATE Sotrydniki

Изменить стаж одному сотруднику Ivanov можно таким предложением

UPDATE Sotrydniki

SET AgeS = AgeS + 2

WHERE NumberS =105;

Предложение SET - это не предикат. Оно может вводить пустые NULL значения также как оно вводило значения, не используя какого-то специального синтаксиса ( такого например как IS NULL ). Так что, если вы хотите установить у сотрудника Ivanov стаж в NULL, вы можете ввести следующее предложение:

UPDATE Sotrydniki

SET AgeS = NULL

WHERE NumberS =105;

что приведет к обнулению стажа сотрудника Ivanov.