Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
Любая задача на C/C++
Одно любое задание в mYsql
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Любой реферат по информатике

Запросы модификации данных

2021-03-09СтудИзба

2.3. Запросы модификации данных

Рассматриваются запросы модификации данных в реляционной таблице: вставка отдельной записи INSERTS VALUESs или группы записей из имеющейся таблицы INSERTS SELECTS, удаление записей по условию DELETE, изменение записей по условию UPDATE. Вводится понятие целостности данных. Определяются целостность сущностей и ссылочная целостность.

Язык SQL ориентирован на выполнение операций над группами записей, хотя в некоторых случаях их можно проводить и над отдельной записью.

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

INSERT INTO   –   запрос добавления',

DELETE   –   запрос удаления',

UPDATE   –   запрос обновления.

2.3.1. Запрос добавления

Рекомендуемые материалы

Оператор INSERT применяется для добавления записей в таблицу. Формат оператора:

<оператор__вставки>::=INSERT INTO <имя_таблицы> [(имя_столбца [,...п])]

{ALUES (значение[,...п])| <SELECT оператор>}

Здесь параметр имя таблицы представляет собой либо имя таблицы базы данных, либо имя обновляемого представления.

Первая форма оператора INSERT с параметром VALUES предназначена для вставки единственной строки в указанную таблицу. Список столбцов указывает столбцы, которым будут присвоены значения в добавляемых записях. Список может быть опущен, тогда подразумеваются все столбцы таблицы (кроме объявленных как счетчик), причем в определенном порядке, установленном при создании таблицы. Если в операторе INSERT указывается конкретный список имен полей, то любые пропущенные в нем столбцы должны быть объявлены при создании таблицы как допускающие значение NULL, за исключением тех случаев, когда при описании столбца использовался параметр DEFAULT. Список значений должен следующим образом соответствовать списку столбцов:

- Количество элементов в обоих списках должно быть одинаковым;

- должно существовать прямое соответствие между позицией одного и того же элемента в обоих списках, поэтому первый элемент списка значений должен относиться к первому столбцу в списке столбцов, второй   –   ко второму столбцу и т.д.

- типы данных элементов в списке значений должны быть совместимы с типами данных соответствующих столбцов таблицы.

Пример 62. Добавить в таблицу TOVAR новую запись.

INSERT INFO Tovar (Nazvanie, Tip, Cena)

VALUES(«Славянский» , «шоколад», 12)

Если столбцы таблицы TOVAR указаны в полном составе и в том порядке, в котором они перечислены при создании таблицы TOVAR, оператор можно упростить.

INSERT INTO Tovar VALUES («Славянский» , «шоколад», 12)

Вторая форма оператора INSERT с параметром SELECT позволяет скопировать множество строк из одной таблицы в другую. Предложение SELECT может представлять собой любой допустимый оператор SELECT. Вставляемые в указанную таблицу строки в точности должны соответствовать строкам результирующей таблицы, созданной при выполнении вложенного запроса. Все ограничения, указанные выше для первой формы оператора SELECT, применимы и в этом случае.

Поскольку оператор SELECT в общем случае возвращает множество записей, то оператор INSERT в та! ой форме приводит к добавлению в таблицу аналогичного числа новых записей.

Пример 63. Добавить в итоговую таблицу сведения об общей сумме ежемесячных продаж каждого наименования товара

INSERT INTO

(Nazvanie, Mesyac, Stoimosti)

SELECT Tovar.Nazvanie, Моnth(Sdelka.Data)

AS Mesyac, Sum(Tovar.Cena*Sdelka.Kolichestvo)

AS Stoimosti

FROM Tovar

INNER JOIN Sdelka

ON Tovar.KodTovarа= Sdelka. Kod Tovarа

GROUP BY Tovar.Nazvanie, Month(Sdelka.Data)

2.3.2. Запрос удаления

Оператор DELETE предназначен для удаления группы записей из таблицы.

Формат оператора:

<оператор_удаления> : :=DELETE

FROM <имя таблицы>[WHERE <yсловие_отбора>]

Здесь параметр имя таблицы представляет собой либо имя таблицы базы данных, либо имя обновляемого представления.

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

Пример 64. Удалить все прошлогодние сделки.

DELETE

FROM Sdelka

WHERE Уеаг(Sdelka.Data)  –  Year(GETDATE())  –  1

В приведенном примере условие отбора формируется с учетом года (функция Year) от текущей даты (функция GETDATEQ).

2.3.3. Запрос обновления

Оператор UPDATE применяется для изменения значений в группе записей или в одной записи указанной таблицы.

Формат оператора:

<оператор изменения> : :=

UPDATE имя_таблицы SET имя_столбца=

<выражение>[,...п]

[WHERE <условие отбора>]

Параметр имя таблицы   –   это либо имя таблицы базы данных, либо имя обновляемого представления. В предложении SET указываются имена одного и более столбцов, данные в которых необходимо изменить. Предложение WHERE является необязательным. Если оно опущено, значения указанных столбцов будут изменены во всех строках таблицы. Если предложение WHERE присутствует, то обновлены будут только те строки, которые удовлетворяют условию отбора. Выражение представляет собой новое значение соответствующего столбца и должно быть совместимо с ним по типу данных.

Пример 65. Для товаров первого сорта установить цену в значение 140 и остаток   –   в значение 20 единиц.

UPDATE Tovar SET Tovar.Cena  –  140, Tovar.Octatoc=20

WHERE Tovar.Sort  –  " Perviy "

Пример 66. Увеличить цену товаров первого сорта на 25%.

UPDATE Tovar SET Tovar.Cena=Tovar.Cena* 1.25

Бесплатная лекция: "6.7 Очерки" также доступна.

WHERE Tovar.Sort  –  " Первый "

Пример 67. В сделке с максимальным кол  –  вом товара увеличить число товаров на 10%.

UPDATE Sdelka

SET Sdelka. Kolichestvo =Sdelka. Kolichestvo * 1.1

WHERE Sdelka. Kolichestvo ^

(SELECT Мах(Sdelka.Kolichestvo) FROM Sdelka)

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее