Практическая работа. Взаимодействие MySQL и PHP.. Методические указания для выполнения практических работ
Скачать 1.47 Mb.
|
«Добавление, изменение, удаление записей в таблицах»Цель: «Сформировать навыки и умения построения запросов действий» Ход Работы Все запросы, рассмотренные ранее являются запросами на выборку. Добавление, изменение и удаление записей выполняется запросами действиями. Эти запросы не выводят данные на экран, а производят их изменение. Если необходимо просмотреть изменённые данные, то после запроса – действия , выполните запрос выборку. Язык SQL ориентирован на выполнение операций над группами записей, хотя в некоторых случаях операция может проводиться и над отдельной записью. Поэтому неудивительно, что операторы добавления, изменения и удаления записей в общем случае вызывают соответствующие операции над группами записей. 1.Оператор INSERT Оператор INSERТ применяется для добавления записей в объект. В качестве объекта может выступать таблица БД или просмотр (VIEW), созданный оператором CREATE VIEW. В последнем случае записи могут добавляться в несколько таблиц. Формат оператора INSERT: INSERT INTO <объект> [(столбец1[(, столбец2 ...] )] {VALUES «значение1> (, <значение2> ...)) | <оператор SELECT> } Список столбцов указывает столбцы, которым будут присвоены значения в добавляемых записях. Список столбцов может быть опущен. В этом случае подразумеваются все столбцы объекта, причем в том порядке, в котором они определены в данном объекте. Поставить в соответствие столбцам списки значений можно двумя способами. Первый состоит в явном указании значений после слова VALUES, второй - в формирован значений при помощи оператора SELECT. Явное указание списка значений: В этом случае оператор INSER Т при меняется для добавления одной записи и имеет формат INSERT INTO <объект> (столбец1 (, столбец2 ...)) VALUES «значение1> (, <значение2> ...) Значения назначаются столбцам по порядку следования тех и других в операторе: первому по порядку столбцу назначается первое значение, второму столбцу - второе значение и Т.д. Задание 1. Добавить в таблицу tovar новую запись: INSERT INTO tovar (kod_tov, zena, kod_post) VALUES (‘005’, 350, ‘12’) Поскольку столбцы таблицы RASHOD указаны в полном составе и именно в том порядке, в котором они перечислены при создании таблицы tovar оператором CREAТ TЕABLE, оператор можно упростить: INSERT INTO tovar VALUES (‘005’, 350, ‘12’) Указание значений при помощи оператора SELECT : INSERT INTO <объект> (столбец1 (, столбец2 ...)) <оператор SELECT> При этом значениями, которые присваиваются столбцам, являются значения, возвращаемые оператором SELECT. Порядок их назначения столбцам аналогичен предыдущей форме оператора INSERТ: значение первого по порядку столбца результирующего набора данных оператора SELECT присваивается первому столбцу оператора INSERT, второй - второму и Т.Д. Следует обратить внимание на важную особенность: поскольку оператор SELECT в общем случае возвращает множество записей, то и оператор INSERT в данной форме приведет к добавлению в объект аналогичного количества новых записей. Задание 2. Создайте таблицу itog, в которую добавляются записи, выбранные запросом. Создание таблицы: use sklad createtable itog( data varchar(15), kol int ) В эту таблицу добавляется записи за каждую дату с суммарным количеством поступившего товара. use sklad INSERTINTO itog SELECT data,sum (kol) FROM postavka groupby data 2.Оператор UPDAТЕ Оператор UPDAТЕ применяется для изменения значения в группе записей или - в частном случае - в одной записи объекта. В качестве объекта могут выступать ТБД или просмотр, созданный оператором CREAТЕ VIEW. В последнем случае могут изменяться значения записей из нескольких таблиц. Формат оператора UPDAТЕ: UPDAТЕ <объект> SET столбец1 = <значение1> (,столбец2 = <значение2>...) (WНЕRE <условие поиска > ) При корректировке каждому из перечисленных столбцов присваивается соответствующее значение. Корректировка выполняется для всех записей, удовлетворяющих условию поиска. Условие поиска задается так же, как в операторе SELECT Задание 3. Увеличьте цену товара на 10% для поставщика с кодом ‘11’ use sklad select * from tovar where kod_post='11' update tovar set zena=zena+50 where kod_post='11' select * from tovar where kod_post='11' Перед выполнением запроса – действия запускается запрос на выборку, чтобы посмотреть состав данных перед обновлением. После выполнения обновления снова выведем данные для просмотра. 3.Оператор DELETE Оператор DELETE предназначен для удаления группы записей из объекта. В качестве объекта могут выступать ТБД или просмотр, созданный оператор CREATE VIEW.. Формат оператора DELETE: DELETE FROM <объект> [WHERE <условие поиска>]; Удаляются все записи из объекта, удовлетворяющие условию Условие поиска задается так же, как в операторе SELECT. Задание 4.Удалите из таблицы расход все записи за 2 октября. use sklad select * from rashod deletefrom rashod where data = '2 октября' select * from rashod Перед выполнением запроса – действия запускается запрос на выборку, чтобы посмотреть состав данных перед обновлением. После выполнения обновления снова выведем данные для просмотра. Контрольные задания. В таблицу ‘поставщик’ добавьте новую запись о поставщике с кодом «17», «Лесная ягода» Создайте таблицу ‘лучший товар’ с полями kod_tov, kol. Выполните последовательность команд: удалите все имеющиеся записи из таблицы ‘лучший товар’; добавьте в таблицу ‘лучший товар’ код товара и его количество, который больше всего был отпущен со складов (по таблице rashod, вложенный запрос на нахождение максимума); выведите на экран содержимое таблицы ‘лучший товар’. Увеличьте количество поставленного товара на 5 единиц для номера поставки ‘04’. Выведите содержимое таблице до обновления и после обновления. В таблицу Rashod добавьте новую запись о продаже товара с кодом ‘001’. Выведите содержимое таблице до добавления и после добавления записи. Из таблицы Rashod удалите все записи с количеством товара меньше 15. Выведите содержимое таблице до удаления и после удаления. В индивидуальной базе данных выполните примеры на добаление, удаление и обновление записей. Практическая работа №10 |