Toate instrumentele
Gratuit

O referință MySQL căutabilă și imprimabilă — interogări, join-uri, indexuri, funcții, tipuri de date și comenzi de administrare. Gratuit.

Interogare

10
SELECT * FROM users;
Selectează toate coloanele și rândurile
SELECT id, name FROM users;
Selectează coloane specifice
SELECT DISTINCT city FROM users;
Doar valori unice
WHERE age > 18 AND active = 1
Filtrează rânduri după condiții
WHERE name LIKE 'A%'
Potrivire de tipar (% = orice caractere)
WHERE id IN (1, 2, 3)
Potrivește orice valoare dintr-un set
WHERE age BETWEEN 18 AND 30
Filtru de interval inclusiv
ORDER BY created_at DESC
Sortare descrescătoare
LIMIT 10 OFFSET 20
Paginează rezultatele
WHERE email IS NULL
Potrivește valori null

Join-uri

8
INNER JOIN orders ON orders.user_id = users.id
Rânduri care se potrivesc în ambele tabele
LEFT JOIN orders ON ...
Toate rândurile din stânga + potriviri
RIGHT JOIN orders ON ...
Toate rândurile din dreapta + potriviri
CROSS JOIN colors
Produs cartezian
SELF JOIN: FROM emp e JOIN emp m ON e.mgr = m.id
Join al unui tabel cu el însuși
USING (user_id)
Join pe o coloană cu același nume
UNION / UNION ALL
Combină seturi de rezultate
SELECT u.*, o.total FROM users u JOIN orders o
Alias pentru tabele pentru claritate

Agregare

9
COUNT(*)
Numără rândurile
SUM(amount)
Totalul unei coloane numerice
AVG(price)
Valoarea medie
MIN(price), MAX(price)
Cea mai mică și cea mai mare
GROUP BY country
Grupează rânduri pentru agregare
HAVING COUNT(*) > 5
Filtrează pe grupuri agregate
GROUP_CONCAT(name)
Concatenează valori grupate
COUNT(DISTINCT city)
Numără valorile unice
ROW_NUMBER() OVER (ORDER BY id)
Clasament cu funcție de fereastră

Modificarea datelor

8
INSERT INTO users (name) VALUES ('Sam');
Inserează un singur rând
INSERT INTO users (name) VALUES ('A'),('B');
Inserează mai multe rânduri
UPDATE users SET active = 1 WHERE id = 5;
Actualizează rândurile potrivite
DELETE FROM users WHERE id = 5;
Șterge rândurile potrivite
TRUNCATE TABLE logs;
Elimină rapid toate rândurile
INSERT ... ON DUPLICATE KEY UPDATE
Upsert pe o cheie unică
REPLACE INTO users ...
Șterge + inserează la conflict
INSERT IGNORE INTO ...
Sari peste rândurile care ar da eroare

Schemă / DDL

9
CREATE TABLE users (id INT PRIMARY KEY);
Creează un tabel nou
AUTO_INCREMENT
Coloană cu numerotare automată
ALTER TABLE users ADD COLUMN age INT;
Adaugă o coloană
ALTER TABLE users DROP COLUMN age;
Elimină o coloană
ALTER TABLE users MODIFY name VARCHAR(100);
Schimbă tipul unei coloane
DROP TABLE IF EXISTS users;
Șterge un tabel
FOREIGN KEY (user_id) REFERENCES users(id)
Referă un alt tabel
ON DELETE CASCADE
Cascadă ștergerile către copii
CREATE TABLE t2 LIKE t1;
Copiază structura unui tabel

Indecși & chei

8
PRIMARY KEY (id)
Identificator unic de rând
UNIQUE (email)
Impune valori unice
CREATE INDEX idx_name ON users (name);
Accelerează căutările pe o coloană
CREATE INDEX idx_ab ON t (a, b);
Index compus (multi-coloană)
DROP INDEX idx_name ON users;
Elimină un index
FULLTEXT (body)
Index de căutare full-text
EXPLAIN SELECT ...;
Arată planul de interogare
SHOW INDEX FROM users;
Listează indecșii unui tabel

Tipuri de date

9
INT, BIGINT, TINYINT
Tipuri întregi după dimensiune
DECIMAL(10, 2)
Numere exacte cu virgulă fixă
VARCHAR(255)
Șir cu lungime variabilă
TEXT, LONGTEXT
Blocuri mari de text
DATE, DATETIME, TIMESTAMP
Tipuri de dată și oră
BOOLEAN (TINYINT(1))
True/false stocat ca 0/1
JSON
Coloană nativă de document JSON
ENUM('a', 'b')
Una dintr-un set fix de valori
UNSIGNED
Modificator numeric non-negativ

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

Funcții

9
NOW(), CURDATE()
Dată/oră curentă / dată
DATE_FORMAT(d, '%Y-%m-%d')
Formatează o dată
DATEDIFF(a, b)
Zile între două date
CONCAT(a, ' ', b)
Unește șiruri
COALESCE(a, b, 'n/a')
Prima valoare non-null
IFNULL(x, 0)
Înlocuiește null cu o valoare implicită
CASE WHEN x > 0 THEN '+' ELSE '-' END
Expresie condițională
CAST(x AS CHAR)
Convertește un tip de valoare
ROUND(x, 2)
Rotunjește la zecimale

Tranzacții & administrare

9
START TRANSACTION;
Începe o tranzacție
COMMIT;
Persistă tranzacția
ROLLBACK;
Anulează tranzacția
SAVEPOINT sp1;
Setează un punct de rollback
SHOW TABLES;
Listează tabelele din baza de date
DESCRIBE users;
Arată structura unui tabel
SHOW PROCESSLIST;
Listează conexiunile active
GRANT ALL ON db.* TO 'u'@'%';
Acordă privilegii de utilizator
mysqldump -u root db > db.sql
Fă backup la o bază de date (CLI)

Nicio intrare nu corespunde cu „:q”.


Ai nevoie de ajutor?
Ai întâmpinat o problemă cu acest instrument? Spune-ne.
Raportează o problemă

Adăugați acest instrument gratuit pe propriul site — copiați și lipiți codul de mai jos.