Όλα τα εργαλεία
Δωρεάν

Μια αναζητήσιμη, εκτυπώσιμη αναφορά MySQL — queries, joins, indexes, συναρτήσεις, τύποι δεδομένων και εντολές διαχείρισης. Δωρεάν.

Ερωτήματα

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

Joins

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
Join πίνακα με τον εαυτό του
USING (user_id)
Join σε στήλη ιδίου ονόματος
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)
Κατάταξη με window function

Τροποποίηση δεδομένων

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
Cascade διαγραφές στα παιδιά
CREATE TABLE t2 LIKE t1;
Αντιγραφή δομής πίνακα

Indexes & κλειδιά

8
PRIMARY KEY (id)
Μοναδικό αναγνωριστικό γραμμής
UNIQUE (email)
Επιβολή μοναδικών τιμών
CREATE INDEX idx_name ON users (name);
Επιτάχυνση αναζητήσεων σε στήλη
CREATE INDEX idx_ab ON t (a, b);
Σύνθετο (πολλαπλών στηλών) index
DROP INDEX idx_name ON users;
Αφαίρεση index
FULLTEXT (body)
Index αναζήτησης full-text
EXPLAIN SELECT ...;
Εμφάνιση query plan
SHOW INDEX FROM users;
Λίστα indexes πίνακα

Τύποι δεδομένων

9
INT, BIGINT, TINYINT
Τύποι integer ανά μέγεθος
DECIMAL(10, 2)
Ακριβείς αριθμοί σταθερής υποδιαστολής
VARCHAR(255)
String μεταβλητού μήκους
TEXT, LONGTEXT
Μεγάλα blobs κειμένου
DATE, DATETIME, TIMESTAMP
Τύποι ημερομηνίας και ώρας
BOOLEAN (TINYINT(1))
True/false αποθηκευμένο ως 0/1
JSON
Native στήλη εγγράφου JSON
ENUM('a', 'b')
Μία από σταθερό σύνολο τιμών
UNSIGNED
Μη αρνητικός αριθμητικός 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

Συναρτήσεις

9
NOW(), CURDATE()
Τρέχουσα datetime / date
DATE_FORMAT(d, '%Y-%m-%d')
Μορφοποίηση ημερομηνίας
DATEDIFF(a, b)
Ημέρες μεταξύ δύο ημερομηνιών
CONCAT(a, ' ', b)
Ένωση strings
COALESCE(a, b, 'n/a')
Πρώτη μη-null τιμή
IFNULL(x, 0)
Αντικατάσταση null με προεπιλογή
CASE WHEN x > 0 THEN '+' ELSE '-' END
Έκφραση συνθήκης
CAST(x AS CHAR)
Μετατροπή τύπου τιμής
ROUND(x, 2)
Στρογγυλοποίηση σε δεκαδικά

Transactions & διαχείριση

9
START TRANSACTION;
Έναρξη transaction
COMMIT;
Διατήρηση του transaction
ROLLBACK;
Αναίρεση του transaction
SAVEPOINT sp1;
Ορισμός σημείου rollback
SHOW TABLES;
Λίστα πινάκων της βάσης
DESCRIBE users;
Εμφάνιση δομής πίνακα
SHOW PROCESSLIST;
Λίστα ενεργών συνδέσεων
GRANT ALL ON db.* TO 'u'@'%';
Παραχώρηση δικαιωμάτων χρήστη
mysqldump -u root db > db.sql
Αντίγραφο ασφαλείας βάσης (CLI)

Καμία καταχώριση δεν ταιριάζει με «:q».


Κοινοποίηση
Χρειάζεστε βοήθεια;
Βρήκατε πρόβλημα με αυτό το εργαλείο; Ενημερώστε μας.
Αναφορά προβλήματος

Προσθέστε αυτό το δωρεάν εργαλείο στον δικό σας ιστότοπο — αντιγράψτε και επικολλήστε τον παρακάτω κώδικα.