Ця шпаргалка з SQL зібрала команди, до яких щодня звертається працюючий розробник, упорядковані за завданнями. Кожен розділ поєднує точний синтаксис із простим описом, що охоплює створення бази даних, типи даних, запити, фільтрацію, об'єднання та індексацію.
🗄️ Команди структури: Команди СТВОРИТИ БАЗУ ДАНИХ, СТВОРИТИ ТАБЛИЦЮ, ЗМІНИТИ, ПЕРЕЙМЕНУВАТИ та ВИДАЛИТИ визначають та змінюють форму схеми.
🔢 Типи даних: Числові, текстові, датні та двійкові типи встановлюють розмір сховища та дійсний діапазон кожного стовпця.
🔎 Команди вилучення: SELECT з WHERE, IN, LIKE та REGEXP звужує набір результатів до важливих рядків.
✍️ Команди модифікації: INSERT, UPDATE та DELETE змінюють збережені рядки, і кожна з них приймає необов'язкову умову.
📊 Команди агрегації: ГРУПОВАТИ ЗА допомогою COUNT, MIN, MAX, SUM та AVG підсумовує дані, а HAVING фільтрує групи.
🔗 Комбіновані команди: JOIN об'єднує таблиці поруч, тоді як UNION об'єднує результати двох запитів.
Тип даних стовпця визначає, що він може зберігати та скільки місця займає кожен рядок.
Числові типи даних
Command
Опис
TINYINT( )
від -128 до 127 звичайний, від 0 до 255 БЕЗЗНАКОВИЙ.
SMALLINT( )
-32768 до 32767 в нормі
Від 0 до 65535 БЕЗ ПІДПИСУ.
MEDIUMINT( )
-8388608 до 8388607 в нормі
Від 0 до 16777215 БЕЗ ПІДПИСУ.
INT( )
-2147483648 до 2147483647 в нормі
Від 0 до 4294967295 БЕЗ ПІДПИСУ.
BIGINT( )
-9223372036854775808 до 9223372036854775807 в нормі
Від 0 до 18446744073709551615 БЕЗ ПІДПИСУ.
FLOAT
Невелике приблизне число з плаваючою комою.
DOUBLE( , )
Велике приблизне число з плаваючою десятковою комою.
DECIMAL( , )
Точне число з фіксованою комою. Бажаний вибір для зберігання валютних значень.
Текстові типи даних
Command
Опис
CHAR( )
Розділ фіксованої довжини від 0 до 255 символів.
VARCHAR( )
Розділ змінної довжини від 0 до 65535 символів.
TINYTEXT
Рядок максимальною довжиною 255 символів.
TEXT
Рядок максимальною довжиною 65535 символів.
BLOB
Бінарні дані максимальною довжиною 65535 байт.
MEDIUMTEXT
Рядок максимальною довжиною 16777215 символів.
MEDIUMBLOB
Бінарні дані максимальною довжиною 16777215 байт.
LONGTEXT
Рядок максимальною довжиною 4294967295 символів.
LONGBLOB
Бінарні дані максимальною довжиною 4294967295 байт.
Типи даних Дата/Час
Command
Опис
DATE
YYYY-MM-DD
DATETIME
РРРР-ММ-ДД ЧЧ: ММ: СС
TIMESTAMP
РРРР-ММ-ДД ГГ:ХХ:СС, зберігається у форматі UTC та конвертується у часовий пояс сеансу.
TIME
HH: MM: SS
Інші типи даних
Command
Опис
ENUM
Зберегти одне текстове значення, вибране зі списку попередньо визначених текстових значень.
SET
Це також використовується для зберігання текстових значень, вибраних зі списку попередньо визначених текстових значень. Воно може містити кілька значень.
BOOL
Синонім TINYINT(1), що використовується для зберігання логічних значень.
BINARY
Подібно до CHAR; відмінність полягає в тому, що текст зберігається у двійковому форматі.
VARBINARY
Подібно до VARCHAR; відмінність полягає в тому, що текст зберігається у двійковому форматі.
UPDATE table_name SET column_name = new_value [WHERE condition];
Синтаксис команди оновлення
ORDER BY у SQL: команда DESC & ASC
Command
Опис
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC];
Базовий синтаксис речення ORDER BY
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N];
Синтаксис DESC і ASC
Команда SQL GROUP BY і HAVING
GROUP BY згортає рядки у групи, а HAVING фільтрує ці групи після їх формування.
Групувати за
Command
Опис
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition];
Синтаксис GROUP BY
Гроуping та агрегатні функції
Command
Опис
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2;
Припустімо, нам потрібна загальна кількість значень стовпця t2 у нашій базі даних.
речення HAVING
Command
Опис
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1;
Повертає всі значення t4 для рядків таблиці table2, t1_id яких дорівнює x1.
Команди підстановки SQL для Like, NOT Like, Escape, ( % ), ( _ )
Підстановочні символи дозволяють LIKE збігатися з частинами рядків.
% команда підстановки відсотків у MySQL
Command
Опис
SELECT statements... WHERE fieldname LIKE 'xxx%';
Базовий синтаксис символу підстановки відсотків %, який відповідає будь-якій кількості символів
_ команда символу підкреслення
Command
Опис
SELECT * FROM table1 WHERE t3 LIKE 'x2_';
Підкреслення відповідає лише одному символу.
НЕ як команда підстановки
Command
Опис
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_';
Припустимо, нам потрібні рядки table1, значення t3 яких не відповідає шаблону.
Вихід із команди підстановки ключового слова
Command
Опис
LIKE '67#%' ESCAPE '#';
Перевіряє літерал рядка «67%», оскільки # замінює шаблон.
Регулярні вирази SQL (REGEXP)
Command
Опис
SELECT statements... WHERE fieldname REGEXP 'pattern';
Базовий синтаксис регулярного виразу, що відповідає
Метасимволи регулярного виразу
Command
Опис
*
Метасимвол зірочка (*) відповідає нулю або більше екземплярам рядка, що передує йому.
+
Метасимвол плюс (+) відповідає одному або кільком екземплярам рядка, що передує йому.
?
Метасимвол знака питання (?) відповідає нулю або одному екземпляру рядка, що передує йому.
.
Метасимвол крапки (.) відповідає будь-якому окремому символу, окрім символу нового рядка.
[abc]
Список символів [abc] відповідає будь-якому з доданих символів.
[^abc]
Список символів [^abc] відповідає будь-якому символу, окрім тих, що знаходяться всередині.
[A-Z]
Діапазон [AZ] відповідає будь-якій літері верхнього регістру.
[a-z]
Діапазон [az] відповідає будь-якій малій літері.
[0-9]
Діапазон [0-9] відповідає будь-якій цифрі від 0 до 9.
^
Каретка (^) закріплює збіг на початку.
|
Вертикальна риски (|) виділяють альтернативи.
[[:<:]]
Маркер [[:<:]] збігається з початком слів.
[[:>:]]
Маркер [[:>:]] відповідає кінцям слів.
[:class:]
Маркер [:class:] відповідає класу символів, наприклад, [:alpha:] для літер, [:space:] для пробілів, [:punct:] для розділових знаків та [:upper:] для великих літер.
Команди функцій SQL
Рядкові функції
Command
Опис
SELECT t1_id, t2, UCASE(t2) FROM table1;
Функція UCASE приймає рядок як параметр і перетворює всі літери у верхній регістр.
Числові функції
Command
Опис
Приклад
DIV
Ціле ділення
SELECT 23 DIV 6;
/
Роздільна
SELECT 23 / 6;
-
нижчеtracції
SELECT 23 - 6;
+
Доповнення
SELECT 23 + 6;
*
Множення
SELECT 23 * 6 AS multiplication_result;
% or MOD
Модуль
SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR
Видаляє десяткові знаки з числа та округляє його до найближчого цілого числа.
SELECT FLOOR(23 / 6) AS floor_result;
ROUND
Округлює число з десятковими знаками до найближчого цілого числа.
SELECT ROUND(23 / 6) AS round_result;
Збережені функції
Command
Опис
CREATE FUNCTION sf_name ([parameter(s)])
Обов'язково. Розповідає MySQL сервер для створення функції з іменем sf_name з необов'язковими параметрами, визначеними в дужках.
RETURNS data type
Обов'язковий. Визначає тип даних, який повертає функція.
DETERMINISTIC
Функція повертає те саме значення щоразу, коли їй передаються ті самі аргументи.
STATEMENTS
Процедурний код, який виконує функція.
Команди функції SQL Aggregate
Command
Опис
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2;
функція COUNT
SELECT MIN(t3) FROM table2;
Функція MIN
SELECT MAX(t3) FROM table2;
Функція MAX
SELECT SUM(t4) FROM table3;
Функція SUM
SELECT AVG(t4) FROM table3;
AVG функція
Команди SQL IS NULL & IS NOT NULL
A NULL є відсутнім значенням, тому його потрібно перевіряти за допомогою IS NULL, а не оператора дорівнює.
Command
Опис
SELECT COUNT(t3) FROM table1;
Функція COUNT ігнорує значення NULL у стовпці.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
Ці команди змінюють таблицю, яка вже містить дані.
Command
Опис
ALTER TABLE table_name ADD COLUMN column_name data_type;
Синтаксис ALTER
DROP TABLE sample_table;
Синтаксис DROP TABLE
RENAME TABLE current_table_name TO new_table_name;
Синтаксис команди RENAME
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL;
ЗМІНИТИ ключове слово
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL;
ЗМІНИТИ ключове слово
ALTER TABLE table1 ADD t4 date NULL AFTER t3;
ПІСЛЯ ключового слова
ОБМЕЖЕННЯ ТА ЗМІЩЕННЯ SQL
Command
Опис
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
Синтаксис ключового слова LIMIT
SELECT * FROM table1 LIMIT 1, 2;
Зсув у запиті LIMIT: пропустити 1 рядок, потім повернути 2.
Команди підзапиту SQL
Command
Опис
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN(t1_id) FROM table2);
Підзапити
Команди SQL JOINS
ПРИЄДНУЄТЬСЯ об'єднати стовпці з двох таблиць в один результуючий набір.
Command
Опис
SELECT * FROM table1 CROSS JOIN table2;
Хрест JOIN
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
INNER JOIN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
LEFT JOIN
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
ПРАВИЛЬНИЙ ПРИЄДН
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
Речення «ON» і «USING».
Команди SQL UNION
UNION об'єднує рядки двох запитів, тоді як JOIN розширює їх на більше стовпців.
Command
Опис
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
Синтаксис UNION. Дублікати рядків видаляються.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL зберігає дублікати рядків.
SQL у командах Views
думки зберігати запит під певним ім'ям, щоб його можна було використовувати повторно, як таблицю.
Command
Опис
CREATE VIEW view_name AS SELECT statement;
Синтаксис переглядів
DROP VIEW general_v_movie_rentals;
Падінняping думки
Команди SQL Index
Індекс — це структура пошуку, яка значно пришвидшує пошук у стовпці.
Command
Опис
CREATE INDEX id_index ON table_name(column_name);
Додайте базовий синтаксис індексу
DROP INDEX index_id ON table_name;
Базовий синтаксис індексу відкидання
Поширені запитання
Ні. Ключові слова, такі як SELECT та WHERE, працюють у будь-якому регістрі. Великі літери – це умова, що розділяє команди від ідентифікаторів. Однак назви таблиць можуть бути чутливими до регістру в Linux.
DELETE видаляє вибрані рядки та може бути відмінена. TRUNCATE швидко очищує всю таблицю та скидає AUTO_INCREMENT. DROP видаляє саме визначення таблиці.
Спочатку виконуються FROM та JOIN, потім WHERE, GROUP BY, HAVING, SELECT, ORDER BY і, нарешті, LIMIT. Ось чому псевдонім стовпця, визначений у SELECT, не може використовуватися всередині WHERE.
Так. Помічники з перетворення тексту в SQL перетворюють питання на запит, використовуючи схему таблиці. Завжди читайте згенеровані умови WHERE та JOIN, оскільки правдоподібний запит може повертати неправильні рядки.
Так. RevПерегляд виводу ШІ, налаштування повільних запитів та читання плану виконання вимагають вільного володіння командами. Довідковий аркуш пришвидшує запам'ятовування; він не замінює розуміння.
Підсумуйте цей пост за допомогою:
Будьте в курсі подій ШІотримати Щотижневий ШІ Навички, тенденції, практичні поради.
Підпишіться на розсилку
Ви успішно підписалися. Будь ласка, перевірте свою поштову скриньку.