דף עזר MySQL
מדריך עיון של MySQL ניתן לחיפוש ולהדפסה — שאילתות, joins, אינדקסים, פונקציות, סוגי נתונים ופקודות ניהול. חינם.
שאילתות
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
התאמת ערכי 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
join של טבלה לעצמה
USING (user_id)
join על עמודה באותו שם
UNION / UNION ALL
שילוב קבוצות תוצאה
SELECT u.*, o.total FROM users u JOIN orders o
כינוי טבלאות לבהירות
אגרגציה
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)
דירוג בפונקציית window
שינוי נתונים
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
upsert על מפתח ייחודי
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;
העתקת מבנה טבלה
אינדקסים ומפתחות
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;
רשימת אינדקסים בטבלה
סוגי נתונים
9INT, BIGINT, TINYINT
סוגי integer לפי גודל
DECIMAL(10, 2)
מספרים מדויקים בנקודה קבועה
VARCHAR(255)
מחרוזת באורך משתנה
TEXT, LONGTEXT
blobs טקסט גדולים
DATE, DATETIME, TIMESTAMP
סוגי תאריך ושעה
BOOLEAN (TINYINT(1))
true/false נשמר כ-0/1
JSON
עמודת מסמך JSON מובנית
ENUM('a', 'b')
אחד מקבוצת ערכים קבועה
UNSIGNED
מאפיין מספרי לא-שלילי
Type sizes & limits
20TINYINT
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
פונקציות
9NOW(), CURDATE()
תאריך/שעה נוכחיים
DATE_FORMAT(d, '%Y-%m-%d')
עיצוב תאריך
DATEDIFF(a, b)
ימים בין שני תאריכים
CONCAT(a, ' ', b)
שרשור מחרוזות
COALESCE(a, b, 'n/a')
הערך הראשון שאינו null
IFNULL(x, 0)
החלפת null בברירת מחדל
CASE WHEN x > 0 THEN '+' ELSE '-' END
ביטוי מותנה
CAST(x AS CHAR)
המרת סוג ערך
ROUND(x, 2)
עיגול לעשרוניים
טרנזקציות וניהול
9START TRANSACTION;
התחלת טרנזקציה
COMMIT;
שמירת הטרנזקציה
ROLLBACK;
ביטול הטרנזקציה
SAVEPOINT sp1;
הגדרת נקודת חזרה
SHOW TABLES;
רשימת טבלאות במסד הנתונים
DESCRIBE users;
הצגת מבנה טבלה
SHOW PROCESSLIST;
רשימת חיבורים פעילים
GRANT ALL ON db.* TO 'u'@'%';
הענקת הרשאות משתמש
mysqldump -u root db > db.sql
גיבוי מסד נתונים (CLI)
אף רשומה אינה תואמת ל-„:q”.
צריך עזרה?
נתקלת בבעיה בכלי הזה? ספר לצוות שלנו.