Всички инструменти
Безплатно

Справочник за MySQL с възможност за търсене и печат — заявки, joins, индекси, функции, типове данни и административни команди. Безплатно.

Заявки

10
SELECT * FROM users;
Избор на всички колони и редове
SELECT id, name FROM users;
Избор на конкретни колони
SELECT DISTINCT city FROM users;
Само уникални стойности
WHERE age > 18 AND active = 1
Филтриране на редове по условия
WHERE name LIKE 'A%'
Съвпадение по шаблон (% = всякакви символи)
WHERE id IN (1, 2, 3)
Съвпадение с някоя стойност от набор
WHERE age BETWEEN 18 AND 30
Филтър за включващ диапазон
ORDER BY created_at DESC
Сортиране в низходящ ред
LIMIT 10 OFFSET 20
Странициране на резултатите
WHERE email IS NULL
Съвпадение с null стойности

Съединения (JOIN)

8
INNER JOIN orders ON orders.user_id = users.id
Редове, съвпадащи в двете таблици
LEFT JOIN orders ON ...
Всички леви редове + съвпадения
RIGHT JOIN orders ON ...
Всички десни редове + съвпадения
CROSS JOIN colors
Декартово произведение
SELF JOIN: FROM emp e JOIN emp m ON e.mgr = m.id
Съединяване на таблица със себе си
USING (user_id)
Съединяване по едноименна колона
UNION / UNION ALL
Комбиниране на набори от резултати
SELECT u.*, o.total FROM users u JOIN orders o
Псевдоними на таблици за яснота

Агрегиране

9
COUNT(*)
Броене на редове
SUM(amount)
Сума на числова колона
AVG(price)
Средна стойност
MIN(price), MAX(price)
Най-малка и най-голяма
GROUP BY country
Групиране на редове за агрегиране
HAVING COUNT(*) > 5
Филтриране на агрегирани групи
GROUP_CONCAT(name)
Конкатенация на групирани стойности
COUNT(DISTINCT city)
Брой уникални стойности
ROW_NUMBER() OVER (ORDER BY id)
Класиране с прозоречна функция

Промяна на данни

8
INSERT INTO users (name) VALUES ('Sam');
Вмъкване на един ред
INSERT INTO users (name) VALUES ('A'),('B');
Вмъкване на множество редове
UPDATE users SET active = 1 WHERE id = 5;
Обновяване на съвпадащи редове
DELETE FROM users WHERE id = 5;
Изтриване на съвпадащи редове
TRUNCATE TABLE logs;
Бързо премахване на всички редове
INSERT ... ON DUPLICATE KEY UPDATE
Upsert по уникален ключ
REPLACE INTO users ...
Изтриване + вмъкване при конфликт
INSERT IGNORE INTO ...
Пропускане на редове, които биха дали грешка

Схема / DDL

9
CREATE TABLE users (id INT PRIMARY KEY);
Създаване на нова таблица
AUTO_INCREMENT
Колона с авто-номериране
ALTER TABLE users ADD COLUMN age INT;
Добавяне на колона
ALTER TABLE users DROP COLUMN age;
Премахване на колона
ALTER TABLE users MODIFY name VARCHAR(100);
Промяна на типа на колона
DROP TABLE IF EXISTS users;
Изтриване на таблица
FOREIGN KEY (user_id) REFERENCES users(id)
Препратка към друга таблица
ON DELETE CASCADE
Каскадно изтриване към дъщерните
CREATE TABLE t2 LIKE t1;
Копиране на структурата на таблица

Индекси и ключове

8
PRIMARY KEY (id)
Уникален идентификатор на ред
UNIQUE (email)
Налагане на уникални стойности
CREATE INDEX idx_name ON users (name);
Ускоряване на търсенето по колона
CREATE INDEX idx_ab ON t (a, b);
Съставен (многоколонен) индекс
DROP INDEX idx_name ON users;
Премахване на индекс
FULLTEXT (body)
Индекс за пълнотекстово търсене
EXPLAIN SELECT ...;
Показване на плана на заявката
SHOW INDEX FROM users;
Списък на индексите на таблица

Типове данни

9
INT, BIGINT, TINYINT
Целочислени типове по размер
DECIMAL(10, 2)
Точни числа с фиксирана точка
VARCHAR(255)
Низ с променлива дължина
TEXT, LONGTEXT
Големи текстови блокове
DATE, DATETIME, TIMESTAMP
Типове за дата и час
BOOLEAN (TINYINT(1))
True/false, съхранени като 0/1
JSON
Естествена JSON колона за документи
ENUM('a', 'b')
Една от фиксиран набор стойности
UNSIGNED
Числов модификатор за неотрицателни

Type sizes & limits

20
TINYINT
1 byte: -128..127 (0..255 UNSIGNED)
SMALLINT
2 bytes: -32,768..32,767 (0..65,535)
MEDIUMINT
3 bytes: -8.39M..8.39M (0..16.78M)
INT
4 bytes: -2.15B..2.15B (0..4.29B)
BIGINT
8 bytes: ±9.22×10^18 (0..1.84×10^19)
DECIMAL(M, D)
Exact: M up to 65 digits, D up to 30
FLOAT / DOUBLE
4 / 8 bytes approximate floating point
CHAR(M)
Fixed length, 0..255 characters
VARCHAR(M)
0..65,535 bytes (shared 64KB row limit)
TINYTEXT
Up to 255 bytes (~255 chars)
TEXT
Up to 65,535 bytes (64 KB)
MEDIUMTEXT
Up to 16,777,215 bytes (16 MB)
LONGTEXT
Up to 4,294,967,295 bytes (4 GB)
BLOB types
TINY/—/MEDIUM/LONG: 255B..4GB (binary)
JSON
Stored as LONGBLOB, up to ~4 GB
ENUM / SET
ENUM: 65,535 members; SET: 64 members
DATE
1000-01-01 to 9999-12-31 (3 bytes)
DATETIME
1000 to 9999, microseconds (5–8 bytes)
TIMESTAMP
1970-01-01 to 2038-01-19 UTC (4 bytes)
TIME / YEAR
±838:59:59 / 1901..2155

Функции

9
NOW(), CURDATE()
Текущи дата и час / дата
DATE_FORMAT(d, '%Y-%m-%d')
Форматиране на дата
DATEDIFF(a, b)
Дни между две дати
CONCAT(a, ' ', b)
Съединяване на низове
COALESCE(a, b, 'n/a')
Първа стойност, различна от null
IFNULL(x, 0)
Замяна на null със стойност по подразбиране
CASE WHEN x > 0 THEN '+' ELSE '-' END
Условен израз
CAST(x AS CHAR)
Преобразуване на тип на стойност
ROUND(x, 2)
Закръгляне до знаци

Транзакции и администриране

9
START TRANSACTION;
Начало на транзакция
COMMIT;
Запазване на транзакцията
ROLLBACK;
Отмяна на транзакцията
SAVEPOINT sp1;
Задаване на точка за отмяна
SHOW TABLES;
Списък на таблиците в базата
DESCRIBE users;
Показване на структурата на таблица
SHOW PROCESSLIST;
Списък на активните връзки
GRANT ALL ON db.* TO 'u'@'%';
Предоставяне на права на потребител
mysqldump -u root db > db.sql
Резервно копие на база (CLI)

Няма запис, който да съответства на „:q“.


Сподели
Нуждаете се от помощ?
Открихте проблем с този инструмент? Кажете ни.
Докладване на проблем

Добавете този безплатен инструмент към собствения си уебсайт — копирайте и поставете кода по-долу.