Манипулирование данными
Команды манипулирования данными
Столбцам, наименования которых не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно назначено при описании таблицы (команда CREATE TABLE), либо значение NULL.
С помощью команды INSERT можно извлечь значение из одной таблицы и разместить его в другой, например, запросом следующего вида:
INSERT INTO STUDENT1 SELECT *
FROM STUDENT
WHERE CITY = 'Москва';
При этом таблица STUDENTI должна быть предварительно создана командой CREATE TABLE (раздел 4.1) и иметь структуру, идентичную таблице STUDENT.
Удаление строк из таблицы осуществляется с помощью команды DELETE.
Следующее выражение удаляет все строки таблицы EXAM_MARKSI .
DELETE FROM EXAM_MARKS1;
В результате таблица становится пустой (после этого она может быть удалена командой DROP TABLE).
Для удаления из таблицы сразу нескольких строк, удовлетворяющих некоторому условию, можно воспользоваться предложением WHERE, например:
DELETE FROM EXAM_MARKS1 WHERE STUDENT_ID = 103;
Можно удалить группу строк:
DELETE FROM STUDENTI WHERE CITY = 'Москва';
Команда UPDATE позволяет изменять, то есть обновлять значения некоторых или всех полей в существующей строке или строках таблицы. Например, чтобы для всех университетов, сведения о которых находятся в таблице UNIVERSITYI, изменить рейтинг на значение 200, можно использовать конструкцию:
UPDATE UNIVERSITYI SET RATING = 200;
Для указания конкретных строк таблицы, значения полей которых должны быть изменены, в команде UPDATE можно использовать предикат, указываемый в предложении WHERE.
UPDATE UNIVERSITYI SET RATING = 200 WHERE CITY = 'Москва';
В результате выполнения этого запроса будет изменен рейтинг только у университетов, расположенных в Москве.
Команда UPDATE позволяет изменять не только один, но и множество столбцов. Для указания конкретных столбцов, значения которых должны быть модифицированы, используется предложение SET.
Например, наименование предмета обучения 'Математика' (для него SUBJ_ID = 43) должно быть заменено на название 'Высшая математика', при этом идентификационный номер необходимо сохранить, но в соответствующие поля строки таблицы ввести новые данные об этом предмете обучения. Запрос будет выглядеть следующим образом:
UPDATE SUBJECT1
SET SUBJ_NAME = Высшая математика', HOUR = 36, SEMESTER = 1
WHERE SUBJ_ID = 43;
В предложении SET команды UPDATE можно использовать скалярные выражения, указывающие способ изменения значений поля, в которые могут входить значения изменяемого и других полей.
UPDATE UNIVERSITYI SET RATING = RATING*2;
Например, для увеличения в таблице STUDENTi значения поля STIPEND в два раза для студентов из Москвы можно использовать запрос
UPDATE STUDENT 1
SET STIPEND = STIPEND*2
WHERE CITY = 'Москва';
Предложение SET не является предикатом, поэтому в нем можно указать значение NULL следующим образом:
UPDATE UNIVERSITYl SET RATING = NULL WHERE CITY = 'Москва';
| Maya 3D графика в кино и телевидении Воздействие испытаний ядерного оружия на здоровье населения Объектно-ориентированный язык программирования Java Объектно-ориентированное программирование Delphi Библиотека визуальных компонентов VCL и ее базовые классы Кроссплатформенное программирование для Linux Элементы управления Win32 Элементы управления Windows XP Файлы и устройства ввода/вывода Что такое экспертная система? Объектно-ориентированное программирование Инструментальные средства разработки экспертных систем Программирование на языке CLIPS Критерии и количественные характеристики надежности Расчет характеристик надежности невостанавливаемых резервированных изделий Расчет надежности системы с постоянным резервированием Интегрирование тригонометрических функций ; |