Программирование >>  Формирование связанных подзапросов 

1 ... 5 6 7 [ 8 ] 9 10 11 ... 15


Манипулирование данными

3.1. Команды манипулирования данными

В SQL для выполнения операций ввода даннгх в таблицу, их изменения и удаления предназначены три команды языка манипулирования данными (DML). Это команды INSERT (вставить), UPDATE (обновить), DELETE (удалить).

Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет вид:

INSERT INTO <имя таблицы> VALUES (<значение>, <значение>,);

При такой записи указаннхе в скобках после ключевого слова VALUES значения вводятся в поля добавленной в таблицу новой строки в том порядке, в котором соответствующие столбцы указаны при создании таблицы, то есть в операторе CREATE TABLE.

Например, ввод новой строки в таблицу STUDENT может быть осуществлен следующим образом:

INSERT INTO STUDENT

VALUES (101,Иванов,Александр, 200, 3,Москва1,

6/10/1979, 15);

Чтобы такая команда могла бгть вхполнена, таблица с указанным в ней именем (STUDENT) должна быть предварительно определена (создана) командой CREATE TABLE. Если в какое-либо поле необходимо вставить NULL-значение, то оно вводится как обычное значение:

INSERT INTO STUDENT

VALUES (101, ано, NULL, 200, 3, ftcicEe,/0/979, 15);

В случаях, когда необходимо ввести значения полей в порядке, отличном от порядка столбцов, заданного командой CREATE TABLE, или требуется ввести значения не во все столбцы, следует использовать следующую форму команды INSERT:



3.1. Команды манипулирования данными 79

INSERT INTO STUDENT (STUDENT ID, CITY, SURNAME, NAME)

VALUES (101, Москва, Иванов, Саша);

Столбцам, наименования которхх не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно назначено при описании таблицы (команда 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 в два раза для студентов из Москвы можно использовать запрос



1 ... 5 6 7 [ 8 ] 9 10 11 ... 15

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика