В этом кратком справочнике по SQL собраны команды, которые ежедневно используют работающие разработчики, сгруппированные по задачам. В каждом разделе точный синтаксис сопровождается простым описанием, охватывающим создание базы данных, типы данных, запросы, фильтрацию, объединение таблиц и индексирование.
🇧🇷 Структурные команды: Команды CREATE DATABASE, CREATE TABLE, ALTER, RENAME и DROP определяют и изменяют схему.
🔢 Типы данных: Числовые, текстовые, датовые и двоичные типы данных определяют размер хранилища и допустимый диапазон для каждого столбца.
🔎 Команды получения данных: Операторы SELECT с WHERE, IN, LIKE и REGEXP сужают набор результатов до важных строк.
✍️ Команды модификации: Операторы INSERT, UPDATE и DELETE изменяют сохраненные строки, и каждый из них принимает необязательное условие.
📊 Команды агрегации: Группировка по параметрам COUNT, MIN, MAX, SUM и AVG Обобщает данные, а фильтр HAVING выделяет группы.
🔗 Комбинированные команды: Оператор JOIN объединяет таблицы, расположенные рядом, а оператор UNION объединяет результаты двух запросов.
Маркер [: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
Command
Описание
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2;
СЧЁТ (функция СЧЁТ)
SELECT MIN(t3) FROM table2;
Функция MIN
SELECT MAX(t3) FROM table2;
Макс функция
SELECT SUM(t4) FROM table3;
СУММА функция
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)
);
Параметр NOT NULL запрещает наличие пустых значений в столбце.
Эти команды изменяют таблицу, которая уже содержит данные.
Command
Описание
ALTER TABLE table_name ADD COLUMN column_name data_type;
Синтаксис ALTER
DROP TABLE sample_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
JOINS объединить столбцы из двух таблиц в один результирующий набор.
Command
Описание
SELECT * FROM table1 CROSS JOIN table2;
Перекрестное ПРИСОЕДИНЕНИЕ
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 в командах представлений
Виды Сохраните запрос под определенным именем, чтобы его можно было использовать повторно, как таблицу.
Command
Описание
CREATE VIEW view_name AS SELECT statement;
Синтаксис представлений
DROP VIEW general_v_movie_rentals;
Падениеping Просмотры
Команды SQL-индекса
Индекс — это структура поиска, которая значительно ускоряет поиск по столбцу.
Command
Описание
CREATE INDEX id_index ON table_name(column_name);
Добавить базовый синтаксис индекса
DROP INDEX index_id ON table_name;
Базовый синтаксис удаления индекса
Часто задаваемые вопросы (FAQ)
Нет. Ключевые слова, такие как SELECT и WHERE, работают в любом случае. Использование заглавных букв — это соглашение, разделяющее команды и идентификаторы. Однако имена таблиц в Linux могут быть чувствительны к регистру.
Операция DELETE удаляет выбранные строки и может быть отменена. Операция TRUNCATE быстро очищает всю таблицу и сбрасывает значение AUTO_INCREMENT. Операция DROP удаляет само определение таблицы.
Сначала выполняются операторы FROM и JOIN, затем WHERE, GROUP BY, HAVING, SELECT, ORDER BY и, наконец, LIMIT. Именно поэтому псевдоним столбца, определенный в операторе SELECT, нельзя использовать внутри оператора WHERE.
Да. Автоматические помощники по преобразованию текста в SQL переводят вопрос в запрос, используя схему таблицы. Всегда читайте сгенерированные условия WHERE и JOIN, поскольку правдоподобный запрос может вернуть неверные строки.
Да. RevАнализ результатов работы ИИ, оптимизация медленных запросов и чтение плана выполнения — все это требует свободного владения командами. Справочная таблица ускоряет запоминание, но не заменяет понимания.
Подведем итог этой публикации следующим образом:
Будьте в курсе событий в области искусственного интеллектаПолучите Еженедельный ИИ Навыки, тенденции, практические советы.
Подпишитесь на рассылку
Вы успешно подписались. Пожалуйста, проверьте свой почтовый ящик.