====== Основні функції SQL запитів ====== Data Bases (SQL) ===== Керування користувачами ===== **Створити користувача** CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'your_password'; **Надати привілегії користувачу до бази даних** GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost'; **Застосувати усі надані привілегії** FLUSH PRIVILEGES; **Змінити пароль користувача** ALTER USER 'username'@'localhost' IDENTIFIED BY 'новий_пароль'; **Виводить час та дату** SELECT NOW() ===== Керування базами даних ===== **Створити БД:** CREATE DATABASE wordpress; **Видалити БД:** DROP DATABASE wordpress; **Показати всі БД:** SHOW DATABASES; **Перейти в БД для редагування таблиць:** USE wordpress; ===== Керування таблицями ===== **Створити таблицю:** CREATE TABLE table_name; **Видалити таблицю:** DROP TABLE table_name; ===== Керування даними в таблицях ===== SELECT * FROM table UPDATE table SET name=Artem WHERE id=125 INSERT INTO table VALUE(10, 'text', 'text') DELETE FROM table WHERE id=1 ==== Зʼязки таблиць: ==== * Один до одного (1:1) * Один до множини (1:N) * Множина до множини (M:N) * Множина до одного (N:1) - однаково з другим ==== Обʼєднання таблиць JOIN ==== 4 типи: * **inner** join * **Leftouter** join * **Right** join * **cross** join INNER JOIN SELECT name, table_1.id
 FROM a table_1
 JOIN b table_2
 ON a.id_B = b.id //

table_1,2 - псевдоним для таблиць// LEFT JOIN SELECT name, id
 FROM a
 LEFT JOIN b
 ON a.id_B = b.id **RIGHT JOIN** - симметричный з LEFT CROSS JOIN 

SELECT name FROM a,b або SELECT name FROM a CROSS JOIN b ==== DISTINCT ==== SELECT DISTINCT name FROM table Вивиде всі УНІКАЛЬНІ імена з таблиці ==== Робота з множинами ==== **UNION ALL/UNIN** SELECT name FROM a UNION ALL SELECT name FROM b **UNION ALL** Обʼєднує два стовпчики в один (разом з дублями)
 **UNION** Обʼєднує два стобчики в один (без з дублів) ==== INTERSECT ==== SELECT person FROM sales2005 INTERSECT SELECT person FROM salve2006 Виводить ті дані, які співпадают в обох таблицях ==== MINUS / EXCEPT ==== SELECT person FROM sales2005 MINUS SELECT person FROM salve2006 Віднімає дані з одного поля таблиці від другого поля таблиці. Виводить залишок ==== АГРЕГАТНІ ФУНКЦІЇ
 ==== **Count** - кількість рядків в таблиці
 SELECT COUNT(*) FROM table * **Sum** - сумма групи * **Avg** - середнє значення групи * **Min** - * **Max** - ==== УГРУПУВАННЯ (GROUP BY) ==== **HAVING** SELECT * FROM table GROUP BY name HAVING SUM(zarplata)> 4000 * **having** використувується для фільтрації по **ГРУПАМ** * **
where** - використувується для фільтрації по **РЯДКАМ** ==== Агрегати в під-запитах ==== SELECT person FROM sales2005 WHERE amount = (SELECT MAX(amount) FROM sales2005)