Содержание
-
Манипулирование данными
-
Команды манипулирования данными
Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет вид: INSERT INTO VALUES (, , …,); КомандаINSERT
-
Команда INSERT
Ввод новой строки в таблицу STUDENT: INSERT INTO STUDENT VALUES (101, 'Костюченко', 'Александр', 200, 3, 'Минск', #1/22/1981#, 15); Ввод пустых значений: INSERT INTO STUDENT VALUES (202, 'Мазуркин', NULL, 200, 3, 'Минск', #1/22/1981#, 15); Ввод значений в порядке отличном от заданного при создании таблицы: INSERTINTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME) VALUES (2, ‘Бобруйск’, ‘Абрамович’, ‘Саша’);
-
Команды манипулирования данными
Команда DELETE осуществляет удаление строк из таблицы. В простейшем случае она имеет вид: DELETE FROM ; КомандаDELETE
-
Для удаления из таблицы нескольких строк, удовлетворяющих некоторому условию, можно воспользоваться предложением WHERE DELETE FROM EXAM_MARKS WHERE STUDENT_ID = 301; КомандаDELETE
-
Команды манипулирования данными
Команда UPDATE позволяет изменятьзначения некоторых или всех полей в существующей строке или строках таблицы. В простейшем случае она имеет вид: UPDATE SET =; КомандаUPDATE
-
Команда UPDATE
Изменить рейтинг всех университетов на значение 200: UPDATEUNIVERSITY SET RATTING = 200; Для указания конкретных строк таблицы, значения полей которых должны быть изменены, в команде UPDATE можно использовать предикат, указываемый в предложении WHERE. Изменить рейтинг тех университетов, которые расположены в Москве: UPDATEUNIVERSITY SET RATTING = 200 WHERECITY = ‘Москва’;
-
Команда UPDATE позволяет изменять не только один, но и множество столбцов. Пример. Наименование предмета обучения с идентификатором 43 заменить на название «Высшая математика», количество часов и семестр тоже изменить. UPDATE SUBJECT SET SUBJ_NAME = ‘Высшая математика’, HOUR = 36, SEMESTER = 1 WHERESUBJ_ID= 43;
-
В предложении SET можно использовать выражения, указывающие способ изменения значения поля, в которые могут входить значения изменяемого и других полей. Пример. Увеличить стипендию студентов из Воронежа в два раза. UPDATE STUDENT SETSTIPEND = STIPEND*2 WHERE CITY = ‘Минск’;
-
Предложение SET не является предикатом, поэтому в нем можно указывать значение NULL следующим образом: UPDATE UNIVERSITY SET RATTING = NULL WHERECITY = ‘Воронеж’;
-
Использование подзапросов в INSERT
Применение оператора INSERT с подзапросом позволяет загружать сразу несколько строк в одну таблицу, используя информацию из другой таблицы. Пример. Переписать в таблицу STUDENT1 данные о студентах из Москвы. INSERT INTO STUDENT1 SELECT * FROM STUDENT WHERE CITY = ‘Москва’;
-
Пример. Добавить в таблицу STUDENT1 сведения о студентах, которые учатся в Москве. INSERTINTO STUDENT1 SELECT * FROM STUDENT WHERE UNIV_ID IN(SELECT UNIV_ID FROM UNIVERSITY WHERE CITY = ‘Воронеж’);
-
Использование подзапросов, основанных на таблицах внешних запросов
Пример. Пусть таблице SSTUD хранятся сведения о студентах, обучающихся в том же городе, в котором они живут. Заполнить эту таблицу данными из таблицы STUDENT. INSERT INTO SSTUD SELECT * FROM STUDENTAS A WHERE CITY IN (SELECT CITY FROM UNIVERSITY AS B WHERE A.UNIV_ID=B.UNIV_ID);
-
Пример. Выбрать список студентов, имеющих максимальный балл на каждый день сдачи экзаменов и переписать их в другую таблицу EXAM INSERTINTO EXAM SELECT* FROM EXAM_MARKS AS A WHERE MARK = (SELECTMAX (MARK) FROM EXAM_MARKS AS B WHERE A.EXAM_DATE = =B.EXAM_DATE);
-
Использование подзапросов с DELETE
Пример. Удалить все данные о студентах, которые учатсяв Воронеж DELETE FROM STUDENT WHERE UNIV_ID IN (SELECT UNIV_ID FROM UNIVERSITY WHERE CITY = ‘ВОРОНЕЖ’);
-
В предикате предложения FROM (подзапроса) нельзя ссылаться на таблицу, из которой осуществляется удаление. Однако можно ссылаться на текущую строку из таблицы, являющуюся кандидатом на удаление, то есть на строку, которая в настоящее время проверяется в основном предикате.
-
Пример. Удалить данные о студентах, которые учатся в университетах, имеющих рейтинг 401 DELETE FROM STUDENT WHERE EXISTS (SELECT * FROM UNIVERSITY WHERE RATTING = 401 AND STUDENT.UNIV_ID = UNIVERSITY.UNIV_ID); Второй способ решения этой задачи: DELETE FROM STUDENT WHERE 401 IN (SELECT RATTING FROM UNIVERSITY WHERE STUDENT.UNIV_ID = UNIVERSITY.UNIV_ID);
-
Использование подзапросов с UPDATE
С помощью команды UPDATE можно применять подзапросы в любой форме, приемлемой для команды DELETE. Пример. Увеличить стипендии на 20% студентам, которые имеют оценки только 4 и 5. UPDATE STUDENT AS A SET STIPEND = STIPEND+STIPEND*20/100 WHERE 4
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.