SQL Cheat Sheet с команди & Descriptйон (2026)

⚡ Умно обобщение

Този SQL Cheat Sheet събира командите, към които работещият разработчик посяга ежедневно, подредени по задачи. Всеки раздел съчетава точния синтаксис с просто описание, обхващащо създаването на база данни, типовете данни, заявките, филтрирането, обединяването и индексирането.

  • 🗄️ Структурни команди: СЪЗДАВАНЕ НА БАЗА ДАННИ, СЪЗДАВАНЕ НА ТАБЛИЦА, ПРОМЯНА, ПРЕИМЕНУВАНЕ и ОТКАЗ дефинират и преоформят схемата.
  • 🔢 Типове данни: Числовите, текстовите, датните и двоичните типове задават размера на паметта и валидния диапазон на всяка колона.
  • ???? Команди за извличане: SELECT с WHERE, IN, LIKE и REGEXP стеснява резултатния набор до важните редове.
  • ✍️ Команди за модификация: INSERT, UPDATE и DELETE променят съхранените редове и всяка от тях приема незадължително условие.
  • 📊 Команди за агрегиране: ГРУПИРАНЕ ПО с COUNT, MIN, MAX, SUM и AVG обобщава данните, а HAVING филтрира групите.
  • 🔗 Комбинирани команди: JOIN обединява таблици една до друга, докато UNION натрупва резултатите от две заявки.

SQL Cheat Sheet

Създаване на команди за база данни и таблица

Всяка SQL сесия започва с база данни и поне една таблица, която съхранява редовете.

Команда Descriptйон
CREATE DATABASE database1; Създайте база данни
CREATE DATABASE IF NOT EXISTS database1; АКО НЕ СЪЩЕСТВУВА, това ви позволява да инструктирате MySQL сървърът да провери съществуването на база данни с подобно име, преди да я създаде.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci; Наборът от символи latin1 използва сортирането latin1_swedish_ci, което е шведският ред без чувствителност към главни и малки букви.
SHOW DATABASES; Можете да видите списък със съществуващи бази данни, като изпълните тази SQL команда.
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; Създайте синтаксис на таблица

SQL Типове данни Cheat Sheet

Типът данни на колоната определя какво може да се съхранява в нея и колко място заема всеки ред.

Числови типове данни

Команда Descriptйон
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( , ) Точно число с фиксирана запетая. Предпочитаният избор за съхраняване на валутни стойности.

Текстови типове данни

Команда Descriptйон
CHAR( ) Секция с фиксирана дължина от 0 до 255 символа.
VARCHAR( ) Секция с променлива дължина от 0 до 65535 символа.
TINYTEXT Низ с максимална дължина от 255 знака.
TEXT Низ с максимална дължина от 65535 знака.
BLOB Двоични данни с максимална дължина от 65535 байта.
MEDIUMTEXT Низ с максимална дължина от 16777215 знака.
MEDIUMBLOB Двоични данни с максимална дължина от 16777215 байта.
LONGTEXT Низ с максимална дължина от 4294967295 знака.
LONGBLOB Двоични данни с максимална дължина от 4294967295 байта.

Типове данни за дата/час

Команда Descriptйон
DATE ГГГГ-ММ-ДД
DATETIME ГГГГ-ММ-ДД ЧЧ: ММ: СС
TIMESTAMP ГГГГ-ММ-ДД ЧЧ:ММ:СС, съхранено в UTC и конвертирано към часовата зона на сесията.
TIME HH: MM: SS

Други типове данни

Команда Descriptйон
ENUM За съхраняване на една текстова стойност, избрана от списък с предварително дефинирани текстови стойности.
SET Това се използва и за съхраняване на текстови стойности, избрани от списък с предварително дефинирани текстови стойности. Може да съдържа множество стойности.
BOOL Синоним на TINYINT(1), използван за съхраняване на булеви стойности.
BINARY Подобно на CHAR; разликата е, че текстът се съхранява в двоичен формат.
VARBINARY Подобно на VARCHAR; разликата е, че текстът се съхранява в двоичен формат.

Команда за оператор SQL SELECT

SELECT е командата, използвана за четене на редове от таблица.

Команда Descriptйон
SELECT * FROM table1; Изберете всяка колона от таблицата
SELECT t1, t2, t3, t4 FROM table1; Интересуваме се само от получаването на полетата t1, t2, t3 и t4.
SELECT CONCAT(t1, ' (', t3, ')'), t4 FROM table2; Обединяване на стойности на колони в една изходна колона
SELECT column_name | value | expression [AS] alias_name; Синтаксис на имена на полета с псевдоними

SQL WHERE клауза с AND, OR, IN, NOT IN команди

Клаузата WHERE филтрира редове и операторите по-долу могат да се комбинират в нея.

Команда Descriptйон
SELECT * FROM tableName WHERE condition; Синтаксис на клаузата WHERE
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; Клауза WHERE, комбинирана с логическия оператор AND
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; Клауза WHERE, комбинирана с логическия оператор OR
SELECT * FROM table2 WHERE t1 IN (1,2,3); Клауза WHERE, комбинирана с ключовата дума IN
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); Клауза WHERE, комбинирана с ключовата дума NOT IN
SELECT * FROM table2 WHERE t3 = 'Female'; Клауза WHERE, комбинирана с оператора за сравнение „екватно“ (=)
SELECT * FROM table3 WHERE t3 > 2000; Клауза WHERE, комбинирана с оператора за сравнение „по-голямо от“ (>)
SELECT * FROM table1 WHERE t1 <> 1; Клауза WHERE, комбинирана с оператора за сравнение „не е равно на“ (<>)

SQL команда INSERT INTO Table

Команда Descriptйон
INSERT INTO table_name(column_1, column_2, ...) VALUES (value_1, value_2, ...); Основен синтаксис на SQL командата INSERT
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); Вмъкване на данни в таблица
INSERT INTO table_1 SELECT * FROM table_2; Вмъкване в таблица от друга таблица

SQL команда DELETE

Команда Descriptйон
DELETE FROM table_name [WHERE condition]; Изтриване на ред в MySQL

SQL команда за актуализиране

Команда Descriptйон
UPDATE table_name SET column_name = new_value [WHERE condition]; Актуализиране на синтаксиса на командата

ORDER BY в SQL: команда DESC & ASC

Команда Descriptйон
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 Clause

ГРУПИРАЙ ПО свива редовете в групи, а HAVING филтрира тези групи, след като са формирани.

Групирай по

Команда Descriptйон
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition]; Синтаксис на GROUP BY

Grouping и агрегатни функции

Команда Descriptйон
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2; Да предположим, че искаме общия брой стойности на колона t2 в нашата база данни.

клауза HAVING

Команда Descriptйон
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; Връща всички t4 стойности за редовете на table2, чийто t1_id е x1.

Команди за заместващи символи в SQL за Like, NOT Like, Escape, ( % ), ( _ )

Заместващите символи позволяват на LIKE да съвпада с частични низове.

% командата за заместващ символ за процент в MySQL

Команда Descriptйон
SELECT statements... WHERE fieldname LIKE 'xxx%'; Основен синтаксис за заместващия символ %, който съответства на произволен брой знаци

_ команда за заместващ знак за подчертаване

Команда Descriptйон
SELECT * FROM table1 WHERE t3 LIKE 'x2_'; Подчертаването съвпада точно с един символ.

НЕ Като команда със заместващи символи

Команда Descriptйон
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_'; Да предположим, че искаме редовете от table1, чиято стойност t3 не съответства на шаблона.

Изход от командата със заместващ знак за ключова дума

Команда Descriptйон
LIKE '67#%' ESCAPE '#'; Проверява за литералния низ „67%“, защото # екранира заместващия символ.

SQL регулярни изрази (REGEXP)

Команда Descriptйон
SELECT statements... WHERE fieldname REGEXP 'pattern'; Основен синтаксис на съвпадение на регулярен израз

Метазнаци на регулярен израз

Команда Descriptйон
* Метасимволът звездичка (*) съответства на нула или повече екземпляри на низа, предхождащ го.
+ Метасимволът плюс (+) съвпада с един или повече екземпляри на низа, предхождащ го.
? Метасимволът въпросителен знак (?) съвпада с нула или един екземпляр на низа, който го предхожда.
. Метасимволът точка (.) съвпада с всеки единичен символ, с изключение на символа за нов ред.
[abc] Списъкът със символи [abc] съвпада с който и да е от затворените символи.
[^abc] Списъкът с символи [^abc] съвпада с всеки символ, с изключение на затворените в него.
[A-Z] Диапазонът [AZ] съответства на всяка главна буква.
[a-z] Диапазонът [az] съответства на всяка малка буква.
[0-9] Диапазонът [0-9] съответства на всяка цифра от 0 до 9.
^ Каретката (^) закотвя съвпадението в началото.
| Вертикалната черта (|) изолира алтернативите.
[[:<:]] Маркерът [[:<:]] съвпада с началото на думите.
[[:>:]] Маркерът [[:>:]] съвпада с края на думите.
[:class:] Маркерът [:class:] съответства на клас символи, например [:alpha:] за букви, [:space:] за интервали, [:punct:] за пунктуация и [:upper:] за главни букви.

Команди за SQL функции

Стрингови функции

Команда Descriptйон
SELECT t1_id, t2, UCASE(t2) FROM table1; Функцията UCASE приема низ като параметър и преобразува всички букви в главни букви.

Числови функции

Команда Descriptйон Пример
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;

Съхранени функции

Команда Descriptйон
CREATE FUNCTION sf_name ([parameter(s)]) Задължително. Разказва MySQL сървърът да създаде функция с име sf_name с опционалните параметри, дефинирани в скобите.
RETURNS data type Задължително. Указва типа данни, които функцията връща.
DETERMINISTIC Функцията връща една и съща стойност винаги, когато ѝ бъдат предоставени едни и същи аргументи.
STATEMENTS Процедурният код, който функцията изпълнява.

Команди на SQL Aggregate функция

Команда Descriptйон
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, а не с оператора за равно.

Команда Descriptйон
SELECT COUNT(t3) FROM table1; COUNT игнорира NULL стойностите в колоната.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
NOT NULL забранява празни стойности в колона.
column_name IS NULL
column_name IS NOT NULL
Основен синтаксис на ключови думи NULL
SELECT * FROM table1 WHERE t2_number IS NULL; Пример за IS NULL
SELECT * FROM table1 WHERE t2_number IS NOT NULL; Пример за IS NOT NULL

SQL AUTO_INCREMENT команди

Команда Descriptйон
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
Синтаксис за автоматично нарастване

SQL – ALTER, DROP, RENAME, MODIFY

Тези команди променят таблица, която вече съдържа данни.

Команда Descriptйон
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 LIMIT & OFFSET

Команда Descriptйон
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; Синтаксис на ключова дума LIMIT
SELECT * FROM table1 LIMIT 1, 2; Отместване в заявката LIMIT: пропускане на 1 ред, след което връщане на 2.

SQL команди за подзаявки

Команда Descriptйон
SELECT t1_name FROM table1 WHERE
category_id = (SELECT MIN(t1_id) FROM table2);
Подзапитвания

SQL JOINS команди

пРИСЪЕДИНЯВА КЪМ комбиниране на колони от две таблици в един набор от резултати.

Команда Descriptйон
SELECT * FROM table1 CROSS JOIN table2; Cross JOIN
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
ВЪВЕЖДАНЕ
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 ги разширява в повече колони.

Команда Descriptйон
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

Прегледи съхранявайте заявка под име, така че да може да се използва повторно като таблица.

Команда Descriptйон
CREATE VIEW view_name AS SELECT statement; Изгледи синтаксис
DROP VIEW general_v_movie_rentals; Спадping гледания

SQL индексни команди

Индексът е структура за търсене, която прави търсенето в колона много по-бързо.

Команда Descriptйон
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Прегледът на изхода на изкуствения интелект, настройването на бавни заявки и четенето на план за изпълнение изискват плавно владеене на командите. Справочният лист ускорява припомнянето; той не замества разбирането.

Обобщете тази публикация с: