
- •Практичні завдання
- •2.Робота із запитами Теоретичні відомості
- •Практичні завдання
- •3. Функції маніпулювання даними Теоретичні відомості
- •Практичні завдання
- •Теоретичні відомості
- •Практичні завдання
- •5. Об’єднання таблиць Теоретичні відомості
- •Практичні завдання
- •7. Представлення Теоретичні відомості
- •Практичні завдання
- •8. Індекси. Зовнішній ключ Теоретичні відомості
- •Практичні завдання
- •9. Транзакції Теоретичні відомості
- •Практичні завдання
- •10. Проектування власної бази даних MySql
Теоретичні відомості
Оператор UPDATE оновлює стовпці відповідно до їх новими значеннями в рядках існуючої таблиці. У виразі SET вказується, які саме стовпці слід модифікувати і які величини повинні бути в них встановлені. У виразі WHERE, якщо воно присутнє, задається, які рядки підлягають оновленню. В інших випадках оновлюються всі рядки. Якщо задано вираз ORDER BY, то рядки будуть оновлюватися в зазначеному в ньому порядку.
Синтаксис
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2, ...]
[WHERE where_definition]
[LIMIT #]
Приклади.
UPDATE persondata SET age=age+1;
Оператор DELETE видаляє з таблиці table_name рядки, що задовольняють заданим в where_definition умовам, і повертає число віддалених записів.
Якщо оператор DELETE запускається без визначення WHERE, то видаляються всі рядки.
Синтаксис
DELETE [LOW_PRIORITY | QUICK] FROM table_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]
або
DELETE [LOW_PRIORITY | QUICK] table_name[.*] [,table_name[.*] ...]
FROM table-references
[WHERE where_definition]
або
DELETE [LOW_PRIORITY | QUICK]
FROM table_name[.*], [table_name[.*] ...]
USING table-references
[WHERE where_definition]
Практичні завдання
Створити власну базу даних mybase(порівняння cp1251_general_ci).
Для створення власної БД переходимо до головного меню phpMyAdmin та входимо в пункт меню SQL і вписуємо такий код:
create database mybase default
character set cp1251 collate
cp1251_general_ci
Скопіювати структуру таблиціstudents бази даних univerу власну базу даних використовуючи інструментарій phpmyadmin:
1
2
Перенести всі записи з univer.studentsв mybase.studentsкомандою:
Щоб перенести всі записи, треба виконати SQL запит:
Insert into mybase.students (select * from univer.students)
Виконати пункти 2-3 для таблиць speciality та faculty.
1)
2)
Наступні пункти завдання виконувати лише за допомогою SQLі лише у власній базі даних (mybase).
У таблицю students додати новий запис:
Щоб додати новий запис у таблицю students, виконуємо такий SQL запит:
INSERT INTO `mybase`.`students` (`id`, `name`, `faculty_id`, `speciality_id`, `course`, `group`, `birthday`, `paid`, `mrk1`, `mrk2`, `mrk3`, `mrk4`, `adress`) VALUES (NULL, 'Тихонов', '1', '2', '1', '1312', '1994-11-14', '1', '3', '3', '3', '3', 'м.Чернігів, вул. Войкова, 12');
Аналогічно до попереднього пункту додати ще три записи в таблицю students.
Додаємо ще 3-записи
INSERT INTO `mybase`.`students` (`id`, `name`, `faculty_id`, `speciality_id`, `course`,
`group`, `birthday`, `paid`, `mrk1`, `mrk2`, `mrk3`, `mrk4`, `adress`) VALUES (NULL,
'Трохименко', '11', '12', '41', '1412', '1964-11-14', '1', '3', '3', '3', '3', 'м.Чернігів,
вул. Шевченка, 12');
INSERT INTO `mybase`.`students` (`id`, `name`, `faculty_id`, `speciality_id`, `course`,
`group`, `birthday`, `paid`, `mrk1`, `mrk2`, `mrk3`, `mrk4`, `adress`) VALUES (NULL,
'Увальський', '16', '62', '31', '1412', '1974-11-14', '1', '3', '3', '3', '3', 'м.Чернігів,
вул. Шевченка, 12');
INSERT INTO `mybase`.`students` (`id`, `name`, `faculty_id`, `speciality_id`, `course`,
`group`, `birthday`, `paid`, `mrk1`, `mrk2`, `mrk3`, `mrk4`, `adress`) VALUES (NULL,
'Изумрудов', '61', '62', '41', '1412', '1944-11-14', '1', '3', '3', '3', '3', 'м.Чернігів,
вул. Шевчука, 12');
Змінити кожному із вставлених записів поле name, додавши до прізвищім’я та по батькові. Наприклад,
Щоб змінити кожному із вставлених записів поле name, виконуємо SQL-запит:
UPDATE `mybase`.`students` SET `name` = 'Тихонов Віктор Іванович' WHERE 'students`.`id` =13;
До таблиці faculty додати новий факультет (використати insert).
Щоб до до таблиці faculty додати новий факультет, використовуємо SQL-запит:
INSERT INTO `mybase`.`faculty` (`id`, `name`) VALUES ('6', 'Психологічний');
До таблиці speciality додати спеціальність до нового факультету(використати insert).
Щоб до таблиці speciality додати спеціальність до нового факультету, заходимо в таблицю та прописуємо SQL-запит:
INSERT INTO `mybase`.`speciality` (`id`, `name`) VALUES ('8', 'Педагогіка');
Розподілити доданих студентів на нову спеціальність нового факультету(використати update).
Щоб розподілити доданих студентів на нову спеціальність нового факультету, потрібно виконати такі запити:
update `mybase`.`students` set `faculty_id`='6', `speciality_id`='8' where
`students`.`id`=13;
update `mybase`.`students` set `faculty_id`='6', `speciality_id`='8' where
`students`.`id`=17;
update `mybase`.`students` set `faculty_id`='6', `speciality_id`='8' where
`students`.`id`=18;
update `mybase`.`students` set `faculty_id`='6', `speciality_id`='8' where
`students`.`id`=19;
Видалити останній запис в таблиці students. Наприклад,
Переходимо до таблиці, заходимо в SQL, та вписуємо:
DELETE FROM `mybase`.`students` WHERE `students`.`id`=19
Видалити з бази студентів, які навчаються на спеціальності, яка була додана в пункті 9.
Дану операцію можна виконати навіть с головного меню phpMyAdmin, якщо ми запишемо такий запит:
DELETE FROM `mybase`.`speciality` WHERE `speciality`.`id`=8
Вилучити дану спеціальність.
Щоб вилучити дану спеціальність, вписуємо
delete from `mybase`.`speciality` where `speciality`.`id`=8;
Написати запит, що переводить всіх студентів на новий курс.
Щоб перевести всіх студентів на новий курс, заходимо в таблицю students та записуємо такий SQL-запит:
update `students` set `course`=(`course`+1)
Повернути всіх студентів на попередній курс.
Для повернення всіх студентів на попередній курс, виконуємо такий же самий SQL-запит, але ставимо – замість +.
update `students` set `course`=(`course`-1)
Перевести на наступний курс другокурсників.
Щоб перевести на наступний курс другокурсників, заходимо до таблиці students, та в SQL вписуємо таке:
UPDATE `students` SET `course`=(`course`+1) where `course`=2;