Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5 СЕМЕСТР / ЛР / ЛР3 / ЛР_№3_БД_MySQL_Запросы_с_примером

.pdf
Скачиваний:
7
Добавлен:
25.06.2023
Размер:
657.47 Кб
Скачать

Лабораторная работа №3

Создание запросов на сервере MySQL

Цель работы: изучить инструкции языка SQL, манипулирующие табличными данными.

Методические указания

Здесь под запросом понимается SQL - инструкция, выполняя которую сервер либо обеспечивает выборку и просмотр табличных данных, либо их изменение, т.е. добавление, удаление или редактирование.

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

SELECT, имеющая следующий синтаксис.

SELECT список полей

FROM список таблиц

WHERE условие фильтрации записей

GROUP BY список полей

ORDER BY список полей

В строке «SELECT …» перечисляются поля, из которых выбираются значения. В строке «FROM …» перечисляются таблицы, из которых выбирается информация. В строке «WHERE …» записывается условие для отбора записей. В строке «GROUP BY …» перечисляются поля для группирования выбранных записей. В строке «ORDER BY …»

перечисляются поля, по значениям которых записи будут отсортированы.

Условие отбора используется в случае, если нет необходимости выводить всю информацию из таблиц (или таблицы). Например, если нужно вывести информацию только по одному клиенту.

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

Сортировка используется для вывода результатов выполнения запросов в определенном порядке. По умолчанию, сортировка выполняется по возрастанию значений поля, для выполнения сортировки по убыванию значений используется ключевое слово DESC после названия поля.

Сортировка может выполняться как по одному полю, так и по нескольким.

При сортировке по нескольким полям, сначала производится сортировка по значению первого указанного поля, затем записи с одинаковыми значениями первого поля сортируются по значению второго поля, и т.д.

Если Select–запрос выполняет выборку из связанных таблиц, то необходимо описать связь между этими таблицами в тексте запроса,

используя ключевые слова INNER JOIN .

Insert-запросы применяются для вставки записей в таблицы БД. Такие запросы позволяют не только записывать данные в таблицу, но и переписывать данные из одной таблицы в другую.

Синтаксис Insert-запроса:

INSERT INTO название таблицы (список полей)

VALUES (значения).

INSERT INTO имя_таблицы

FROM имя_таблицы

WHERE условие.

Update-запросы позволяют изменять данные в таблице. Одновременно можно обновлять несколько записей в одной таблице.

Синтаксис Update-запроса: UPDATE название таблицы

SET название поля = ‘новое значение’

WHERE условие отбора

Delete запросы - удаляют записи из таблицы БД.

Синтаксис:

DELETE FROM имя таблицы

WHERE условие отбора

Пример.

Рассмотрим несколько запросов к БД из ЛР №2. Запрос: выбрать все данные из таблицы «Клиенты».

SELECT * FROM CLIENTS;

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

SELECT [CLIENTS].[FIO]

FROM CLIENTS

WHERE (([CLIENTS].[FIO] LIKE “A*”))

ORDER BY [CLIENTS].[FIO];

Запрос: выбрать ФИО клиента и типа его заказа для клиента с номером 2.

SELECT [CLIENTS].[FIO], [ORDERS].[ TYPE]

FROM [CLIENTS] INNER JOIN [ORDERS] ON [CLIENTS].[C_NO] = [ORDERS].[C_NO]

WHERE (([CLIENTS].[C_NO])="2");

Можно также записать этот запрос без использования оператора

INNER JOIN, для чего необходимо прописать связь между таблицами в условии отбора.

SELECT [CLIENTS].[FIO], [ORDERS].[ TYPE]

FROM [CLIENTS], [ORDERS]

WHERE (([CLIENTS].[C_NO])="2") AND [CLIENTS].[C_NO] = [ORDERS].[C_NO];

Запрос: перенести из таблицы «Клиенты» в Таблицу1 записи о клиентах с фамилией на букву О.

INSERT INTO [TAB1]

FROM [CLIENTS]

WHERE (([CLIENTS].[FIO] LIKE “O*”));

Запрос: обновить информацию об адресе для клиента с номером 2.

UPDATE [CLIENTS]

SET ADDR=’Gorohovaya 13’

WHERE C_NO=’2’;

Запрос: удалить запись о клиенте с номером 1.

DELETE FROM CLIENTS

WHERE C_NO=’1’;

Порядок выполнения работы.

1.Создать однотабличный запрос на выборку с условием фильтрации.

2.Создать 2 запроса на выборку к нескольким таблицам с условием фильтрации, сортировкой и группировкой.

3.Создать запросы на обновление и удаление данных.

Содержание отчета

1.Цель работы.

2.Схема данных.

3.Описание на языке SQL созданных запросов.

4.Скриншоты созданных запросов и результатов их выполнения.

5.Вывод в формате эссе

6.Список использованных источников

Вопросы для самопроверки

1.Что такое SQL-запрос?

2.Какие бывают виды запросов?

3.Что такое условие фильтрации?

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

Пример выполнения

1. Цель работы

Изучить инструкции языка SQL, манипулирующие табличными данными.

2. Ход работы

Входе лабораторной работы были созданы 5 запросов.

1.Однотабличный запрос на выборку с условием фильтрации.

Запрос выводит клиента с фамилией Ветошев. Код и результат запроса представлены на рисунке 1.

Рисунок 1 — Запрос 1

2. 2 запроса на выборку к нескольким таблицам с условием фильтрации, сортировкой и группировкой.

Запрос №2 выбирает заказ под номером 2 и выводит фамилию клиента который его приобрел (рисунок 2).

Рисунок 2 — Запрос 2 Запрос №3 выводит клиентов у которых не готов заказ (рисунок 3).

Рисунок 3 — Запрос 3

3.Запросы на обновление и удаление данных.

Запрос №4 обновляет адрес у клиента под номером 1 (рисунок 4-5)

Рисунок 4 — Код запроса№4

Рисунок 5 – Результат добавления

2

Запрос №5 удаляет из таблицы заказы – заказ под номером 4 (рисунок 6-7).

Рисунок 6 — Код запроса№5

Рисунок 7 – Результат удаления

3

Соседние файлы в папке ЛР3