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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

Вставка в таблицу новой строки

 

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

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

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

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

 

INSERT INTO СТУДЕНТЫ

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

' 6/10/1979 ', 15);

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

INSERT INTO СТУДЕНТЫ

VALUES (101, 'Иванов', NULL, 200, 3, 'Москва','6/10/1979', 15);

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

 

INSERT INTO СТУДЕНТЫ (КОД_ СТУДЕНТА, ГОРОД, ФАМИЛИЯ, ИМЯ)

values (101, 'Москва', 'Иванов', 'Саша’);

 

Столбцам, наименования которых не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно назначено при описании таблицы (команда create TABLE), либо значение NULL.

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

 

INSERT INTO СТУДЕНТЫ 1

SELECT *

FROM СТУДЕНТЫ

WHERE ГОРОД = 'Москва';

 

 

При этом таблица СТУДЕНТЫ 1 должна быть предварительно создана командой create table  и иметь структуру, идентичную таблице СТУДЕНТЫ.

 

Удаление строк из таблицы

Удаление строк из таблицы осуществляется с помощью команды DELETE.

Следующее выражение удаляет все строки таблицы ОЦЕНКИ 1.

DELETE FROM ОЦЕНКИ 1;

В результате таблица становится пустой (после этого она может быть удалена командой drop table).

Для удаления из таблицы сразу нескольких строк, удовлетворяющих некоторому условию, можно воспользоваться предложением where, например:

DELETE FROM ОЦЕНКИ 1

WHERE КОД_СТУДЕНТА = 103;

Можно удалить группу строк:

DELETE FROM СТУДЕНТЫ 1

WHERE ГОРОД = 'Москва';

3.3.3. Командаupdate

Команда update позволяет изменять, то есть обновлять значения некоторых или всех полей в существующей строке или строках таблицы. Например, чтобы для всех университетов, сведения о которых находятся в таблице УЧЕБНЫЕ_ЗАВЕДЕНИЯ1, изменить рейтинг на значение 200, можно использовать конструкцию:

 

UPDATE УЧЕБНЫЕ_ЗАВЕДЕНИЯ1

SET РЕЙТИНГ= 200;

 

Для указания конкретных строк таблицы, значения полей которых должны быть изменены, в команде update можно использовать предикат, указываемый в предложении WHERE.

 

UPDATE УЧЕБНЫЕ_ЗАВЕДЕНИЯ1

SET РЕЙТИНГ= 200

WHERE ГОРОД= 'Москва';

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

Команда UPDATE позволяет изменять не только один, но и множество столбцов. Для указания конкретных столбцов, значения которых должны быть модифицированы, используется предложение SET.

Например, наименование предмета обучения 'Математика' (для него КОД_ПРЕДМЕТА = 43) должно быть заменено на название 'Высшая математика', при этом идентификационный номер необходимо сохранить, но в соответствующие поля строки таблицы ввести новые данные об этом предмете обучения. Запрос будет выглядеть следующим образом:

 

UPDATE ПРЕДМЕТЫ1

set ПРЕДМЕТЫ1.НАИМЕНОВАНИЕ = 'Высшая математика', ЧАСЫ = 36, СЕМЕСТР = 1

WHERE КОД_ПРЕДМЕТА = 43;

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

 

UPDATE УЧЕБНЫЕ_ЗАВЕДЕНИЯ1

SET РЕЙТИНГ = РЕЙТИНГ *2;

Например, для увеличения в таблице СТУДЕНТЫ значения поля СТИПЕНДИЯ в два раза для студентов из Москвы можно использовать запрос

 

UPDATE СТУДЕНТЫ

SET СТИПЕНДИЯ = СТИПЕНДИЯ*2

WHERE ГОРОД = 'Москва';

Предложение SET не является предикатом, поэтому в нем можно указать значение NULL следующим образом:

 

UPDATE УЧЕБНЫЕ_ЗАВЕДЕНИЯ1

SET РЕЙТИНГ = NULL

WHERE ГОРОД = 'Москва';

 



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 92; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.196.27 (0.009 с.)