План уроку:
Data Manipulation Language (DML)
o INSERT
o UPDATE
o DELETE
JOIN's
o INNER JOIN
o LEFT OUTER JOIN
o RIGHT OUTER JOIN
o CROSS JOIN
o SELF JOIN
o FULL JOIN
Data Manipulation Language
Data Manipulation Language (DML) – це сімейство комп'ютерних мов, що використовуються користувачами баз даних для отримання, вставки, видалення або зміни даних у базах даних.
Функції DML:
INSERT – додавання даних
UPDATE – оновлення даних
DELETE – видалення даних
Оператор INSERT INTO використовується для вставки нових записів у таблицю.
Інструкцію INSERT INTO можна написати двома способами:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Якщо ви додаєте значення для всіх стовпців таблиці, вам не потрібно вказувати назви стовпців у
SQL-запиті. Однак переконайтеся, що порядок значень відповідає порядку стовпців у таблиці
Оператор UPDATE використовується для зміни існуючих записів у таблиці
UPDATE table_name
SET column1 = value1, column2 = value2,
...
WHERE condition;
Будьте обережні, оновлюючи записи в таблиці! Зверніть увагу на оператор WHERE в операторі UPDATE.
Оператор WHERE визначає, які записи потрібно оновити. Без WHERE, усі записи в таблиці будуть оновлені!
Оператор DELETE використовується для видалення існуючих записів у таблиці
DELETE FROM table_name
WHERE condition
Примітка. Будьте обережні, видаляючи записи в таблиці! Зверніть увагу на умову WHERE в операторі DELETE. Саме WHERE вказує, які записи потрібно видалити. Якщо пропустити WHERE, усі записи в таблиці будуть видалені!
Основні типи JOIN-ів
INNER JOIN: повертає записи, які мають відповідні значення в обох таблицях
LEFT JOIN: повертає всі записи з лівої таблиці та відповідні записи з правої таблиці
RIGHT JOIN: повертає всі записи з правої таблиці та відповідні записи з лівої таблиці
FULL JOIN: повертає всі записи з обох таблиць
CROSS JOIN: повертає об’єднання кожного рядка однієї таблиці з кожним рядком іншої таблиці
SELF JOIN: об’єднання таблиці з самою собою
Ключове слово INNER JOIN вибирає всі рядки з обох таблиць, якщо є збіг між стовпцями. Якщо в таблиці «Замовлення» є записи, які не збігаються в «Клієнти», ці замовлення не відображатимуться!
Ключове слово INNER JOIN вибирає записи, які мають відповідні значення в обох таблицях
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Ключове слово LEFT JOIN повертає всі записи з лівої таблиці і відповідні записи (якщо є) з правої таблиці.
Тут команда SQL вибирає стовпці customer_id і first_name (з Customers таблиці) і amount стовпець (з Orders таблиці).
Набір результатів міститиме ті рядки, де є збіг між customer_id (таблиці Customers) і customer (таблиці Orders), а також усі інші рядки таблиці Customers.
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
Примітка. Ключове слово LEFT JOIN повертає всі записи з лівої таблиці (Клієнти), навіть якщо в правій таблиці (Замовлення) немає збігів.
Ключове слово RIGHT JOIN повертає всі записи з правої таблиці і відповідні записи (якщо є) з лівої таблиці.
Тут команда SQL вибирає стовпці customer_id і first_name (з Customers таблиці) і amount стовпець (з Orders
таблиці).
І набір результатів міститиме ті рядки, де є збіг між customer_id (таблиці Customers) і customer (таблиці Orders), а також усі інші рядки з Orders стіл.
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
Примітка. Ключове слово RIGHT JOIN повертає всі записи з лівої таблиці (Клієнти), навіть якщо в правій таблиці (Замовлення) немає збігів.
Ключове слово FULL JOIN поєднує в собі ефект застосування LEFT та RIGHT JOIN-ів.
Якщо рядки в повних зовнішніх об’єднаних таблицях не збігаються, набір результатів матиме значення NULL для кожного стовпця таблиці, у якому відсутній відповідний рядок
Ключове слово FULL JOIN повертає всі записи з обох таблиць
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
MySQL не підтримує FULL OUTER JOIN
Ключове слово CROSS JOIN повертає всі записи з обох таблиць. Запит створює рядок для кожної комбінації рядків та об’єднаного перегляду.
Ключове слово CROSS JOIN повертає всі записи з обох таблиць
SELECT column_name(s)
FROM table1
CROSS JOIN table2;
Ключове слово SELF JOIN дозволяє нам об’єднувати рядки з однієї таблиці на основі певних умов
SELF JOIN не є ключовим словом. Для його виконання ми використовуємо INNER чи LEFT JOIN на саму таблицю
SELECT e1.employee_id,
e1.employee_name, e2.employee_name
FROM employees e1
INNER JOIN employees e2
ON e1.manager_id = e2.employee_id;
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Урок 3. DML та JOIN-и
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного уроку📚
Успіху і до зустрічі!🤩
Опис завдання:
Валідатор паролів повинен перевіряти вхідний пароль на відповідність заданим правилам безпеки.
Правила безпеки для паролів:
Пароль повинен містити щонайменше 8 символів.
Пароль повинен містити щонайменше одну велику літеру.
Пароль повинен містити щонайменше одну малу літеру.
Пароль повинен містити щонайменше одну цифру.
Пароль може містити спеціальні символи (!, @, #, $, %, ^, &, *).
Завдання:
Визначте класи еквівалентності для валідатора паролів на основі правил безпеки.