MySQL-fusklapp
En sökbar, utskrivbar MySQL-referens — frågor, joins, index, funktioner, datatyper och administrationskommandon. Gratis.
Querying
10SELECT * 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
Joins
8INNER 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
Aggregation
9COUNT(*)
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)
Modifying data
8INSERT 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
REPLACE INTO users ...
INSERT IGNORE INTO ...
Schema / DDL
9CREATE 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;
Indexes & keys
8PRIMARY 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;
Data types
9INT, BIGINT, TINYINT
DECIMAL(10, 2)
VARCHAR(255)
TEXT, LONGTEXT
DATE, DATETIME, TIMESTAMP
BOOLEAN (TINYINT(1))
JSON
ENUM('a', 'b')
UNSIGNED
Type sizes & limits
20TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
DECIMAL(M, D)
FLOAT / DOUBLE
CHAR(M)
VARCHAR(M)
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
BLOB types
JSON
ENUM / SET
DATE
DATETIME
TIMESTAMP
TIME / YEAR
Functions
9NOW(), CURDATE()
DATE_FORMAT(d, '%Y-%m-%d')
DATEDIFF(a, b)
CONCAT(a, ' ', b)
COALESCE(a, b, 'n/a')
IFNULL(x, 0)
CASE WHEN x > 0 THEN '+' ELSE '-' END
CAST(x AS CHAR)
ROUND(x, 2)
Transactions & admin
9START TRANSACTION;
COMMIT;
ROLLBACK;
SAVEPOINT sp1;
SHOW TABLES;
DESCRIBE users;
SHOW PROCESSLIST;
GRANT ALL ON db.* TO 'u'@'%';
mysqldump -u root db > db.sql
Ingen post matchar “:q”.
Om MySQL-fusklapp
Det här MySQL-fusklappen samlar SQL:en du faktiskt skriver in i en sökbar referens: förfrågningar, joins, aggregering, ändring av data, schema och DDL-satser, index och nycklar, datatyper med deras storlekar och gränser, inbyggda funktioner, samt transaktioner och administrationskommandon.
Den är användbar både som en syntaxpåminnelse — den exakta formen på en LEFT JOIN, en UPSERT eller en ALTER TABLE — och som en uppslagning för detaljer ingen memorerar, som heltalsintervall, VARCHAR-gränser och vilken indextyp som passar en förfrågan.
Precis som varje fusklapp i verktygen är den gratis och klientbaserad: filtrera rader live med sökrutan, hoppa mellan sektioner med den fästa innehållsförteckningen, kopiera valfri sats med ett klick och skriv ut sidan som referens vid ditt skrivbord.
Så använder du MySQL-fusklapp
- Öppna lappen och gå igenom sektionerna, från Förfrågningar och Joins via Schema/DDL till Transaktioner & administration.
- Sök efter ett nyckelord som JOIN, INDEX eller GROUP BY för att filtrera alla utdrag live.
- Hoppa till Datatyper eller Typstorlekar & gränser när du behöver lagringsdetaljer snarare än syntax.
- Klicka på en sats eller dess kopieringsikon för att kopiera SQL:en till urklipp.
- Använd Skriv ut för en pappersversion av hela MySQL-referensen.