Συνοπτικός οδηγός MySQL
Μια αναζητήσιμη, εκτυπώσιμη αναφορά MySQL — queries, joins, indexes, συναρτήσεις, τύποι δεδομένων και εντολές διαχείρισης. Δωρεάν.
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
Καμία καταχώριση δεν ταιριάζει με «:q».
Σχετικά με το Συνοπτικός οδηγός MySQL
Αυτό το cheat sheet MySQL συγκεντρώνει την SQL που πραγματικά πληκτρολογείτε σε μία αναζητήσιμη αναφορά: ερωτήματα, joins, συγκέντρωση, τροποποίηση δεδομένων, σχήμα και δηλώσεις DDL, ευρετήρια και κλειδιά, τύπους δεδομένων με τα μεγέθη και τα όριά τους, ενσωματωμένες συναρτήσεις, και συναλλαγές και εντολές διαχείρισης.
Είναι χρήσιμο τόσο ως υπενθύμιση σύνταξης — η ακριβής μορφή ενός LEFT JOIN, ενός UPSERT ή ενός ALTER TABLE — όσο και ως αναζήτηση για τις λεπτομέρειες που κανείς δεν απομνημονεύει, όπως εύρη ακεραίων, όρια VARCHAR και ποιος τύπος ευρετηρίου ταιριάζει σε ένα ερώτημα.
Όπως κάθε cheat sheet στο tools, είναι δωρεάν και πλευράς-πελάτη: φιλτράρετε γραμμές ζωντανά με το πλαίσιο αναζήτησης, μεταπηδήστε μεταξύ ενοτήτων με τον κολλημένο πίνακα περιεχομένων, αντιγράψτε οποιαδήποτε δήλωση με ένα κλικ και εκτυπώστε τη σελίδα για αναφορά στο γραφείο σας.
Πώς να χρησιμοποιήσετε το Συνοπτικός οδηγός MySQL
- Ανοίξτε το φύλλο και ανασκοπήστε τις ενότητες, από Ερωτήματα και Joins έως Σχήμα / DDL μέχρι Συναλλαγές & διαχείριση.
- Αναζητήστε μια λέξη-κλειδί όπως JOIN, INDEX ή GROUP BY για να φιλτράρετε όλα τα αποσπάσματα ζωντανά.
- Μεταβείτε στους Τύπους δεδομένων ή στα Μεγέθη τύπων & όρια όταν χρειάζεστε λεπτομέρειες αποθήκευσης αντί για σύνταξη.
- Κάντε κλικ σε μια δήλωση ή στο εικονίδιο αντιγραφής της για να αντιγράψετε την SQL στο πρόχειρό σας.
- Χρησιμοποιήστε το Εκτύπωση για ένα χάρτινο αντίγραφο ολόκληρης της αναφοράς MySQL.