برگهٔ تقلب MySQL
مرجعی قابلجستجو و چاپ از MySQL — پرسوجوها، joinها، ایندکسها، توابع، انواع داده و دستورات مدیریتی. رایگان.
پرسوجو
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
اتصالها (JOIN)
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
نام مستعار جداول برای وضوح
تجمیع
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 function
تغییر دادهها
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 ...
پرش از سطرهای خطازا
اسکیما / 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
بلوکهای متنی بزرگ
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;
تعیین نقطه rollback
SHOW TABLES;
فهرست جداول پایگاهداده
DESCRIBE users;
نمایش ساختار جدول
SHOW PROCESSLIST;
فهرست اتصالات فعال
GRANT ALL ON db.* TO 'u'@'%';
اعطای مجوزهای کاربر
mysqldump -u root db > db.sql
پشتیبانگیری پایگاهداده (CLI)
هیچ موردی با «:q» مطابقت ندارد.
به کمک نیاز دارید؟
با این ابزار مشکلی پیدا کردید؟ به تیم ما اطلاع دهید.