Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операторы модификации данныхСодержание книги Поиск на нашем сайте Цель и задачи работы Целью лабораторной работы является изучение и практическое применение операторов модификации данных.
Порядок выполнения работы - ознакомится с теоретическими сведениями; - выполнить задание; - оформить отчет; - ответить на контрольные вопросы, заданные преподавателем.
Оформление отчета Отчет должен содержать: титульный лист, цель работы, описание пунктов выполнения лабораторной работы в соответствии с заданием, ответы на контрольные вопросы и выводы по работе.
Теоретические сведения В SQL для выполнения операций ввода данных в таблицу, их изменения и удаления предназначены три команды языка манипулирования данными (DML). Это команды – INSERT (вставить), UPDATE (обновить), DELETE (удалить). Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет следующий вид: INSERTINTO <имя таблицы> VALUES (<значение>, <значение>,...); При такой записи указанные в скобках после ключевого слова VALUES значения вводятся в поля добавленной в таблицу новой строки в том порядке, в котором соответствующие столбцы указаны при создании таблицы, то есть в операторе CREATE TABLE. Добавление одной строки в таблицу films: INSERT INTO films VALUES ('UA502', 'Bananas', 105, '1971-07-13', 'Comedy', '82 minutes'); В этом примере столбец len опускается и, таким образом, получает значение по умолчанию: INSERT INTO films (code, title, did, date_prod, kind) VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama'); В этом примере для столбца с датой задаётся указание DEFAULT, а не явное значение: INSERT INTO films VALUES ('UA502', 'Bananas', 105, DEFAULT, 'Comedy', '82 minutes'); INSERT INTO films (code, title, did, date_prod, kind) VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama'); Добавление строки, полностью состоящей из значений по умолчанию: INSERT INTO films DEFAULT VALUES; В случаях, когда необходимо ввести значения полей в порядке, отличном от порядка столбцов, заданного командой CREATE TABLE, или если требуется ввести значения не во все столбцы, то следует использовать следующую форму команды INSERT: INSERT INTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME) VALUES (101, ' Москва ',' Иванов ', ' Саша '); Столбцам, наименования которых не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно назначено при описании таблицы (команда CREATE TABLE), либо значение NULL. Применение оператора INSERT с подзапросом позволяет загружать сразу несколько строк в одну таблицу, используя информацию из другой таблицы. В то время как оператор INSERT, использующий VALUES добавляет только одну строку, INSERT с подзапросом добавляет в таблицу столько строк, сколько подзапрос извлекает из другой таблицы. При этом количество и тип возвращаемых подзапросом столбцов должно соответствовать количеству и типу столбцов таблицы, в которую вставляются данные. С помощью команды INSERT можно извлечь значение из одной таблицы и разместить его в другой, к примеру, запросом следующего вида: INSERT INTO STUDENT 1 SELECT * FROM STUDENT WHERE CITY = ^ Москва '; При этом таблица STUDENT 1должна быть предварительно создана командой CREATE TABLE и иметь структуру, идентичную таблице STUDENT. Команда DELETE удаляет из указанной таблицы строки, удовлетворяющие условию WHERE. Если предложение WHERE отсутствует, она удаляет из таблицы все строки, в результате будет получена рабочая, но пустая таблица. Удаление всех фильмов, кроме мюзиклов: DELETE FROM films WHERE kind <> 'Musical'; Очистка таблицы films: DELETE FROM films; Удаление завершённых задач с получением всех данных удалённых строк: DELETE FROM tasks WHERE status = 'DONE' RETURNING *; Команда UPDATE позволяет изменять, то есть обновлять, значения некоторых или всех полей в существующей строке или строках таблицы. UPDATE изменяет значения указанных столбцов во всех строках, удовлетворяющих условию. В предложении SET должны указываться только те столбцы, которые будут изменены; столбцы, не изменяемые явно, сохраняют свои предыдущие значения. Изменить строки в таблице, используя информацию из других таблиц в базе данных, можно двумя способами: применяя вложенные запросы или указав дополнительные таблицы в предложении FROM. Выбор предпочитаемого варианта зависит от конкретных обстоятельств. Изменение слова Drama на Dramatic в столбце kind таблицы films: UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama'; Изменение значений температуры и сброс уровня осадков к значению по умолчанию в одной строке таблицы weather: UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT WHERE city = 'San Francisco' AND date = '2003-07-03'; Более подробная информация: https://www.postgresql.org/docs/9.5/tutorial-sql.html
Оборудование Персональный компьютер с установленной операционной системой WindowsXP/7/8, браузер (Например, InternetExplorer, GoogleChrome, Opera), СУБДPostgreSQL.
Задание на работу 1. Предположим, что вам нужно вставить в таблицу строчку и значение одного из полей вставляемой строки вам еще не известно. Напишите запрос в двух вариантах: в одном укажите названия вводимых полей явно, в другом - не указывайте имена полей. 2. Напишите запрос, обновляющий значение двух полей одной строки. 3. Напишите запрос, удаляющий значение одной строки. 4. Напишите запрос, переносящий для нескольких строк значение одного поля в другое поле. 5. Напишите запрос, переносящий несколько строк одной таблицы в другую таблицу. 6. Продемонстрируйте, каким образом можно заполнять значение первичного ключа таблицы автоматически. Создайте секвенцию, определите значение, генерируемое секвенцией по умолчанию. 7. Выполните запрос на вставку данных и получите только что вставленное значение первичного ключа (конструкция RETURNING ID). 7. Контрольные вопросы 1. Даны таблицы Город и Разговор. Удалить данные об абонентах, суммарная продолжительность телефонных разговоров которых оказалась меньше 10 мин.
2. Даны таблицы Автор и Книга. Удалить сведения об авторах, издавших только одну книгу.
3. Увеличить на 10% стоимость билетов, проданных в день вылета рейса. 4. Уменьшить на 50% продолжительность телефонных разговоров тех абонентов, которые за последний месяц сделали более 1000 звонков. 5. Даны таблицы
Удалить информацию о городах, с которыми не было ни одного телефонного разговора. 6. Даны таблицы
Удалить сведения о блюдах, стоимость которых меньше средней стоимости компонентов. 7. Даны таблицы:
Удалить сведения об авторах, чьи произведения не издаются. Лабораторная работа №4
|
||||||||||||
|
Последнее изменение этой страницы: 2020-03-26; просмотров: 350; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.11 (0.008 с.) |