Це стара версія документу!
Основні функції SQL запитів
Data Bases (SQL)
Базовий синтаксиc
SELECT * FROM table
UPDATE table SET name=Artem WHERE id=125
INSERT INTO table VALUE(10, 'text', 'text')
DELETE FROM table WHERE id=1
Виводить час та дату
SELECT NOW()
Створення бази даних та користувача
Створити БД
CREATE DATABASE wordpress;
Створити користувача
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'your_password';
Надати привілегії користувачу до бази даних
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
Застосувати усі надані привілегії
FLUSH PRIVILEGES;
Змінити пароль користувача
ALTER USER 'username'@'localhost' IDENTIFIED BY 'новий_пароль';
Зʼязки таблиць:
- Один до одного (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)