Alle tools
Gratis

Een doorzoekbare, afdrukbare MySQL-referentie — query's, joins, indexen, functies, datatypes en beheercommando's. Gratis.

Bevragen

10
SELECT * FROM users;
Selecteer alle kolommen en rijen
SELECT id, name FROM users;
Selecteer specifieke kolommen
SELECT DISTINCT city FROM users;
Alleen unieke waarden
WHERE age > 18 AND active = 1
Filter rijen op voorwaarden
WHERE name LIKE 'A%'
Patroonmatch (% = willekeurige tekens)
WHERE id IN (1, 2, 3)
Match een waarde in een set
WHERE age BETWEEN 18 AND 30
Inclusieve bereikfilter
ORDER BY created_at DESC
Sorteer aflopend
LIMIT 10 OFFSET 20
Pagineer resultaten
WHERE email IS NULL
Match null-waarden

Joins

8
INNER JOIN orders ON orders.user_id = users.id
Rijen die in beide tabellen matchen
LEFT JOIN orders ON ...
Alle linkerrijen + matches
RIGHT JOIN orders ON ...
Alle rechterrijen + matches
CROSS JOIN colors
Cartesisch product
SELF JOIN: FROM emp e JOIN emp m ON e.mgr = m.id
Join een tabel met zichzelf
USING (user_id)
Join op een gelijknamige kolom
UNION / UNION ALL
Combineer resultaatsets
SELECT u.*, o.total FROM users u JOIN orders o
Geef tabellen een alias voor duidelijkheid

Aggregatie

9
COUNT(*)
Tel rijen
SUM(amount)
Totaal van een numerieke kolom
AVG(price)
Gemiddelde waarde
MIN(price), MAX(price)
Kleinste en grootste
GROUP BY country
Groepeer rijen voor aggregatie
HAVING COUNT(*) > 5
Filter op geaggregeerde groepen
GROUP_CONCAT(name)
Voeg gegroepeerde waarden samen
COUNT(DISTINCT city)
Tel unieke waarden
ROW_NUMBER() OVER (ORDER BY id)
Window-functie rangschikking

Gegevens wijzigen

8
INSERT INTO users (name) VALUES ('Sam');
Voeg een enkele rij in
INSERT INTO users (name) VALUES ('A'),('B');
Voeg meerdere rijen in
UPDATE users SET active = 1 WHERE id = 5;
Werk matchende rijen bij
DELETE FROM users WHERE id = 5;
Verwijder matchende rijen
TRUNCATE TABLE logs;
Verwijder alle rijen snel
INSERT ... ON DUPLICATE KEY UPDATE
Upsert op een unieke sleutel
REPLACE INTO users ...
Verwijder + invoegen bij conflict
INSERT IGNORE INTO ...
Sla rijen over die fouten zouden geven

Schema / DDL

9
CREATE TABLE users (id INT PRIMARY KEY);
Maak een nieuwe tabel
AUTO_INCREMENT
Automatisch nummerende kolom
ALTER TABLE users ADD COLUMN age INT;
Voeg een kolom toe
ALTER TABLE users DROP COLUMN age;
Verwijder een kolom
ALTER TABLE users MODIFY name VARCHAR(100);
Wijzig een kolomtype
DROP TABLE IF EXISTS users;
Verwijder een tabel
FOREIGN KEY (user_id) REFERENCES users(id)
Verwijs naar een andere tabel
ON DELETE CASCADE
Cascade-verwijdering naar kinderen
CREATE TABLE t2 LIKE t1;
Kopieer een tabelstructuur

Indexen & sleutels

8
PRIMARY KEY (id)
Unieke rij-identificatie
UNIQUE (email)
Forceer unieke waarden
CREATE INDEX idx_name ON users (name);
Versnel opzoekingen op een kolom
CREATE INDEX idx_ab ON t (a, b);
Samengestelde (meerkoloms) index
DROP INDEX idx_name ON users;
Verwijder een index
FULLTEXT (body)
Full-text zoekindex
EXPLAIN SELECT ...;
Toon het query-plan
SHOW INDEX FROM users;
Lijst indexen op een tabel

Gegevenstypen

9
INT, BIGINT, TINYINT
Integer-types op grootte
DECIMAL(10, 2)
Exacte fixed-point getallen
VARCHAR(255)
String met variabele lengte
TEXT, LONGTEXT
Grote tekst-blobs
DATE, DATETIME, TIMESTAMP
Datum- en tijdtypen
BOOLEAN (TINYINT(1))
True/false opgeslagen als 0/1
JSON
Native JSON-documentkolom
ENUM('a', 'b')
Een van een vaste set waarden
UNSIGNED
Niet-negatieve numerieke modifier

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

Functies

9
NOW(), CURDATE()
Huidige datetime / datum
DATE_FORMAT(d, '%Y-%m-%d')
Formatteer een datum
DATEDIFF(a, b)
Dagen tussen twee datums
CONCAT(a, ' ', b)
Voeg strings samen
COALESCE(a, b, 'n/a')
Eerste niet-null waarde
IFNULL(x, 0)
Vervang null door een standaard
CASE WHEN x > 0 THEN '+' ELSE '-' END
Voorwaardelijke expressie
CAST(x AS CHAR)
Zet een waardetype om
ROUND(x, 2)
Rond af op decimalen

Transacties & beheer

9
START TRANSACTION;
Begin een transactie
COMMIT;
Persisteer de transactie
ROLLBACK;
Maak de transactie ongedaan
SAVEPOINT sp1;
Stel een rollback-punt in
SHOW TABLES;
Lijst tabellen in de database
DESCRIBE users;
Toon een tabelstructuur
SHOW PROCESSLIST;
Lijst actieve verbindingen
GRANT ALL ON db.* TO 'u'@'%';
Verleen gebruikersrechten
mysqldump -u root db > db.sql
Maak een back-up van een database (CLI)

Geen vermelding komt overeen met “:q”.


Hulp nodig?
Een probleem met deze tool gevonden? Laat het ons weten.
Een probleem melden

Voeg deze gratis tool toe aan je eigen website — kopieer en plak de onderstaande code.