
- •Оглавление
- •В ведение
- •Лабораторная работа 1 установка sql-сервера, подключение клиентской программы
- •1.1. Краткие теоретические сведения
- •1.2. Описание команд и рекомендации к выполнению работы
- •1.3. Порядок проведения работы
- •1.4. Контрольные вопросы
- •Лабораторная работа 2 настройка и администрирование субд MySql
- •2.1. Краткие теоретические сведения
- •2.2. Описание команд и рекомендации к выполнению работы
- •2.3. Порядок проведения работы
- •2.4. Контрольные вопросы
- •Лабораторная работа 3 создание таблиц базы данных
- •3.1. Краткие теоретические сведения Команда create database
- •Работа с таблицами
- •3.2. Рекомендации к выполнению работы
- •3.3. Порядок проведения работы
- •3.4. Контрольные вопросы
- •Лабораторная работа 4 создание запросов на выборку данных по условию
- •4.1. Краткие теоретические сведения
- •4.2. Описание команд и рекомендации к выполнению работы
- •4.3. Порядок проведения работы
- •4.4. Контрольные вопросы
- •Лабораторная работа 5 сортировка и групповая обработка данных
- •5.1. Краткие теоретические сведения
- •5.2. Описание команд и рекомендации к выполнению работы
- •5.3. Порядок проведения работы
- •5.4. Контрольные вопросы
- •Лабораторная работа 6 настройка и работа в mysql на основе denver`a.
3.3. Порядок проведения работы
1) В соответствии с выбранной тематикой подготовить информационные материалы для составления БД.
2) Определить, какие необходимы таблицы, записать их названия и назначение (не менее трех таблиц).
3) В тетради записать структуры таблиц с указанием названий, длины и типов полей. Записать пояснения для заполнения каждого поля. Каждая таблица должна содержать ключевые поля и связи с другими таблицами.
4) Подключиться к СУБД и создать БД по выбранной тематике.
5) Создать текстовые файлы с расширением *.sql, содержащие инструкции для создания таблиц в БД.
6) Выполнить запросы на создание таблиц.
7) Подготовить текстовые файлы с данными для заполнения таблиц.
8) Загрузить данные в таблицы.
9) Проверить правильность загрузки данных и вывести заполненные таблицы на экран монитора.
3.4. Контрольные вопросы
1) Чем база данных отличается от таблицы данных?
2) Какие типы полей используются для хранения числовых значений?
3) Для чего применяются ключевые поля?
4) Зачем используется индексирование полей?
5) Какой тип данных лучше всего использовать для хранения больших объемов текста?
6) В чем различие операторов INSERT и LOAD DATA?
7) За счет чего достигается ускорение обработки запросов потребителей электроэнергии в базе данных?
Лабораторная работа 4 создание запросов на выборку данных по условию
Цель работы: научиться осуществлять выборку информации из базы данных по заданным условиям.
4.1. Краткие теоретические сведения
Получение информации из БД осуществляется с помощью запросов, записанных на языке SQL (Structured Query Language – язык структурированных запросов). В лабораторных работах 1 – 2 команды этого языка применялись для создания таблиц и загрузки данных.
При выборке записей из одной таблицы применяется команда SELECT с параметрами:
SELECT <столбец1>, <столбец2>, ... FROM <таблица>
WHERE <условие1> [AND | OR <условие2>] ...;
В первой части запроса перечисляются поля, которые необходимо вывести на экран, во второй части (после оператора WHERE) записываются условия выборки. В условиях могут применяться любые поля таблицы, в том числе не перечисленные в списке выводимых полей. Одно поле может встречаться в условиях больше одного раза.
В условиях могут использоваться операторы сравнения: <, >, =, <=, >=. Для поиска совпадения текстовых фрагментов применяется оператор LIKE.
При записи условий и других выражений на языке SQL следует учитывать особенности ввода значений: числовые значения записываются без кавычек, строки и даты – в кавычках.
4.2. Описание команд и рекомендации к выполнению работы
Самый простой SQL-запрос. Вывести на экран все записи по всем полям из таблицы Student.
SELECT * FROM STUDENT;
Символ % в строке условия означает «любой текст».
Запрос 1. Вывести на экран список студентов ФМФ(FMF).
Select * from Student where Faculty='FMF';
Условия можно комбинировать с помощью логических операторов AND (и), OR (или) и NOT (не).
Запрос 2. Вывести на экран список студентов, у которых номера зачетных книжек лежат в пределах от 1000 до 4444 включительно.
Select * from Student where Number_zach>=1000 and Number_zach<=4444;
Запрос 3. Вывести на экран список студентов с фамилиями от «A» до «M».
Select * from Student where Fio_stud between 'A' and 'M';
Запрос 4. Вывести на экран список студентов (поля Fio_stud и Number_zach), отсортированный по полю Fio_stud
Select Number_zach, Fio_stud from Student Order by Fio_stud
Запрос 5. Вывести на экран список студентов (поля Number_zach и Fio_stud). Заголовки столбцов изменить на «Номер» и «Фамилия» соответственно.
Select Number_zach as Nomer , Fio_stud as familiya from Student
LIKE позволяет проводить сравнение по заданной маске. В маске могут быть использованы следующие специальные символы: «%» для обозначения произвольной строки любой длины, «_» для обозначения произвольного единичного символа.
Запрос 6. Вывести на экран список студентов факультетов ФМФ и ФФК, чьи фамилии оканчиваются на «ов» или «ова».
Select * from Student where (Faculty in ('FMF', 'FFK') and Fio_stud Like '%ov%')
Запрос 7. Получить общее число студентов по каждому факультету.
Select Faculty, Count(Number_zach) from Student Group by Faculty
Запрос 8. Получить общее число студентов по каждому факультету и вывести только те факультеты, в которых число студентов = 2.
Select Faculty, Count(Number_zach) from Student Group by Faculty Having Count(Number_zach)=2
Или
Select Faculty, Count(Number_zach) from Student Group by Faculty Having Count(Number_zach)<2
Для вывода результатов запроса в текстовый файл можно воспользоваться инструкцией INTO OUTFILE "название файла" в конце строки SELECT:
SELECT * FROM study WHERE ball > 3 INTO OUTFILE "stipendia.txt";
Результирующий файл будет сохранен в каталоге соответствующей БД в каталоге MySQL.
При необходимости можно изменить названия столбцов при выводе результатов запроса, для этого следует использовать псевдонимы столбцов (используется оператор AS):
SELECT number_zach AS "nomer zach knigi", fio_stud
AS "familiya studenta" FROM student;
Пример выполнения данного запроса в клиентской программе приведен на рис. 6.
Рис. 6. Вид окна клиентской программы с примером запроса, использующего псевдонимы полей