Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Варіанти індивідуальних завдань




1. Додати рядок до таблиці Група за допомогою операторів SQL.

2. Створити таблицю, яка має 2 поля числові і 2 текстові заданої розмірності

3. Збільшити кількість студентів в таблиці Студенти на 5.

4. Додати рядок до таблиці Дисципліна за допомогою операторів SQL.

5. Видалити відомості про групи, число студентів яких менше 10.

6. Створити таблицю, яка має 1 поле числове(10), і 2 поля текстові розмірності 23 45.

7. Збільшити кількість студентів в таблиці Студенти на 10% за допомогою операторів SQL.

8. Видалити відомості про дисципліни, код яких менше 3

9. Додати рядок до таблиці Оцінки за допомогою операторів SQL.

10. Створити таблицю за допомогою операторів SQL, яка має 3 поля числові і 2 текстові розмірності 50

11. Видалити відомості про групи, число студентів яких більше 30

12. Додати рядок до таблиці Студенти за допомогою операторів SQL.

13. Збільшити кількість студентів в таблиці Студенти на 5% за допомогою операторів SQL.

14. Збільшити кількість студентів в усіх групах на 10

 

Підготовка до виконання роботи

1 Ознайомитись з інструкцією.

2 Опрацювати теоретичний матеріал.

3 Дати відповіді на контрольні запитання вхідного контролю.

4 Продумати методику виконання роботи.

5 Підготувати бланк звіту.

 

Порядок виконання роботи

1 Отримати допуск до виконання роботи, давши відповіді на контрольні запитання вхідного контролю.

2 Запустити монітор mysql за допомогою ярлика на робочому столі.

3 Відповідно до теоретичних положень здійснити основні маніпуляції з власною базою даних (вставити дані, знищити дані, обновити дані). 

4 Результати виконання інформаційних запитів записати у звіт по роботі і продемонструвати викладачеві.

 

Питання вихідного контролю

1 Скільки варіантів оператора INSERT ви знаєте.

2 Запишіть приклад оператора знищення даних з бази.

3 Наведіть приклад використання оператора обновлення даних.

5 Які діївиконує оператор INSERT.. .SELECT?

6 Який оператор служить для видалення даних з таблиць?

7 Який оператор дозволяє здійснити обновлення даних?



Лабораторна роботи № 10

 

Тема: Побудова простих запитів засобами мови MySQL

Мета: Навчитися будувати прості запити до бази даних за допомогою оператора SELECT. Навчитися отримувати з бази даних необхідну інформацію.

 

Теоретичні відомості

СИНТАКСИС оператора SELECT:

SELECT [STRAIGHT_JOIN] [DISTINCT | ALL] select_expression,...    [FROM tables... [WHERE where_definition] [GROUP BY column,...]    [ORDER BY column [ASC | DESC], ...] HAVING full_where_definition    [LIMIT [offset,] rows] [PROCEDURE procedure_name]]    [INTO OUTFILE 'file_name'... ]

Тут where_definition:

where_definition: where_expr or where_expr [AND | OR] where_expr

 

where_expr має формат:

where_expr: column_name [> | >= | = | <> | <= | <] column_name_or_constant or column_name LIKE column_name_or_constant or column_name IS NULL or column_name IS NOT NULL or (where_definition)

ОПИС:

Оператор SELECT є наріжним каменем усієї мови SQL. Він використовується, щоб виконати запити до бази даних. Це дійсно основа мови SQL. В MySQL версії менше 3.21.x речення WHERE дуже обмежене. HAVING буде працювати там, де речення WHERE нічого не робить. Деякі приклади, які не працюють у реченні WHERE - REGEXP і операторі !. В основному, Ви не можете використовувати функції з WHERE, але Ви можете використовувати функції з HAVING.

HAVING по суті, WHERE стосовно до результатів. Він використовується головним чином для вузької області даних, повернутих запитом. Ви повинні мати права select для використання SELECT.

Найвища ціна. SELECT MAX(price) FROM shop;+ -------+ | article |+ -------+ |   4 |+ -------+ Вся інформація про найдорожчу статтю. SELECT * FROM shop WHERE price = ( SELCT MAX(price) FROM shop ) У цьому запиті використовується підзапит – значення поля дорівнює результату вкладеного запиту. На жаль, MySQL "поки що" не підтримує підзапити, тому для вирішення цього завдання необхідно виконати таке: знайти найвищу ціну після чого робити звичайне порівняння : ... WHERE price=знайдена ціна. Найвища ціна за кожну зі статей. SELECT article, MAX(price) AS price FROM shop GROUP BY article Цей запит виконає MAX(price) для кожного значення поля article і виведе наступне:+---------+-------+ | article | price |+ --------+ -------+ | 0001 | 3.99 | | 0002 | 10.99 | | 0003 | 1.69 | | 0004 | 19.95 | +--------+-------+ Продавець, що продає статтю по найвищій ціні, для кожної статті SELECT article, dealer, price FROM shop s1 WHERE  price = ( SELECT MAX(s2.price)             FROM shop s2             WHERE s1.article = s2.article ) Найкращим способом виконати це завдання в MySQL є такий: виконати попередній запит (знаходження найвищої ціни за кожну з статей), після чого для кожної статті знайти рядок, у якій ціна дорівнює відповідному знайденому максимальному значенню. CREATE TEMPORARY TABLE tmp (    article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,    price DOUBLE(16,2)        DEFAULT '0.00' NOT NULL); LOCK TABLES article read; INSERT INTO tmp SELECT article, MAX(price)    FROM shop GROUP BY article; SELECT article, dealer, price FROM shop, tmp WHERE shop.article=tmp.article AND shop.price=tmp.price; UNLOCK TABLES; DROP TABLE tmp; Використання зовнішніх ключів.Єдине, що MySQL не дозволяє робити – це виконувати операцію CHECK для перевірки існування ключа в таблиці; і автоматично видаляти рядки з таблиці з певним зовнішнім ключем. Приклад роботи із зовнішніми ключами. Створення першої таблиці: CREATE TABLE persons ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, name CHAR(60) NOT NULL, PRIMARY KEY (id) ); Створення другої таблиці: CREATE TABLE shirts ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, style ENUM(' t-shirt', 'polo', 'dress') NOT NULL, color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL, owner SMALLINT UNSIGNED NOT NULL REFERENCES persons, PRIMARY KEY (id) ); Наповнення створених таблиць: INSERT INTO persons VALUES (NULL, 'Antonio Paz'); INSERT INTO shirts VALUES (NULL, 'polo', 'blue', LAST_INSERT_ID()), (NULL, 'dress', 'white', LAST_INSERT_ID()), (NULL, ' t-shirt', 'blue', LAST_INSERT_ID());INSERT INTO persons VALUES (NULL, 'Lilliana Angelovska'); INSERT INTO shirts VALUES (NULL, 'dress', 'orange', LAST_INSERT_ID()), (NULL, 'polo', 'red', LAST_INSERT_ID()), (NULL, 'dress', 'blue', LAST_INSERT_ID()), (NULL, ' t-shirt', 'white', LAST_INSERT_ID()); Перевірка наповнення таблиць:SELECT * FROM persons;+---+--------------------------+ | id | name                     |+ --+--------------------------+ | 1 | Antonio Paz          | | 2 | Lilliana Angelovska |+---+--------------------------+ SELECT * FROM shirts;+ --+--------+--------+-------+ | id | style | color | owner |+---+--------+ -------+--------+  | 1 | polo | blue | 1 | | 2 | dress | white | 1 | | 3 | t-shirt | blue | 1 | | 4 | dress | orange | 2 | | 5 | polo | red | 2 | | 6 | dress | blue | 2 | | 7 | t-shirt | white | 2 |+---+--------+--------+--------+ Тепер можливо виконати запит з об'єднанням цих двох таблиць із ключем id (Всі небілі футболки, що належать людям, чиї імена починаються з 'Lilliana'): SELECT s.* FROM persons p, shirts s WHERE p.name LIKE 'Lilliana%' AND s.owner = p.id AND s.color <> 'white';+---+------+---------+--------+ | id | style | color | owner |+---+------+---------+--------+ | 4 | dress | orange | 2 | | 5 | polo | red  | 2 | | 6 | dress | blue | 2 |

+---+-------+--------+--------+

 

Питання вхідного контролю

 

1 Що собою представляють прості запити?

2 Яка кількість таблиць бази даних використовується в результаті виконання простого запиту?

3 Які особливості використання ключового слова HAVING у SELECT-запиті?

Постановка завдання

 

Створити базу даних Успішність з чотирьох таблиць: Група, Студенти, Дисципліни, Оцінки

Створити таблицю Група з вказаними властивостями полів.

 

Кодгрупи НаваГрупи ЧислоСтудентів Куратор
Числовий Текстовий, 5 Числовий Текстовий, 30

 

Створити таблицю Студенти з вказаними властивостями полів.

КодСтудента Прізвище Імя ДатаНар
Числовий Текстовий, 15 Текстовий, 10 Дата/час

 

Створити таблицю Дисципліна з вказаними властивостями полів.

КодДисципліни НазваДисципліни ПрізВикладача ІмяПобатькові
Числовий Текстовий, 10 Текстовий, 15 Текстовий, 20

 

Створити таблицю Оцінка з вказаними властивостями полів.

ПорядНомер КодГрупи КодСтудента КодДисципліни Оцінка
Числовий Числовий Числовий Числовий Числовий

 










Последнее изменение этой страницы: 2018-05-29; просмотров: 177.

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