همه ابزارها
رایگان

مرجعی قابل‌جستجو و چاپ از MySQL — پرس‌وجوها، joinها، ایندکس‌ها، توابع، انواع داده و دستورات مدیریتی. رایگان.

Querying

10
SELECT * FROM users;
Select all columns and rows
SELECT id, name FROM users;
Select specific columns
SELECT DISTINCT city FROM users;
Unique values only
WHERE age > 18 AND active = 1
Filter rows by conditions
WHERE name LIKE 'A%'
Pattern match (% = any chars)
WHERE id IN (1, 2, 3)
Match any value in a set
WHERE age BETWEEN 18 AND 30
Inclusive range filter
ORDER BY created_at DESC
Sort descending
LIMIT 10 OFFSET 20
Paginate results
WHERE email IS NULL
Match null values

Joins

8
INNER JOIN orders ON orders.user_id = users.id
Rows matching in both tables
LEFT JOIN orders ON ...
All left rows + matches
RIGHT JOIN orders ON ...
All right rows + matches
CROSS JOIN colors
Cartesian product
SELF JOIN: FROM emp e JOIN emp m ON e.mgr = m.id
Join a table to itself
USING (user_id)
Join on a same-named column
UNION / UNION ALL
Combine result sets
SELECT u.*, o.total FROM users u JOIN orders o
Alias tables for clarity

Aggregation

9
COUNT(*)
Count rows
SUM(amount)
Total of a numeric column
AVG(price)
Average value
MIN(price), MAX(price)
Smallest and largest
GROUP BY country
Group rows for aggregation
HAVING COUNT(*) > 5
Filter on aggregated groups
GROUP_CONCAT(name)
Concatenate grouped values
COUNT(DISTINCT city)
Count unique values
ROW_NUMBER() OVER (ORDER BY id)
Window function ranking

Modifying data

8
INSERT INTO users (name) VALUES ('Sam');
Insert a single row
INSERT INTO users (name) VALUES ('A'),('B');
Insert multiple rows
UPDATE users SET active = 1 WHERE id = 5;
Update matching rows
DELETE FROM users WHERE id = 5;
Delete matching rows
TRUNCATE TABLE logs;
Remove all rows quickly
INSERT ... ON DUPLICATE KEY UPDATE
Upsert on a unique key
REPLACE INTO users ...
Delete + insert on conflict
INSERT IGNORE INTO ...
Skip rows that would error

Schema / DDL

9
CREATE TABLE users (id INT PRIMARY KEY);
Create a new table
AUTO_INCREMENT
Auto-numbering column
ALTER TABLE users ADD COLUMN age INT;
Add a column
ALTER TABLE users DROP COLUMN age;
Remove a column
ALTER TABLE users MODIFY name VARCHAR(100);
Change a column type
DROP TABLE IF EXISTS users;
Delete a table
FOREIGN KEY (user_id) REFERENCES users(id)
Reference another table
ON DELETE CASCADE
Cascade deletes to children
CREATE TABLE t2 LIKE t1;
Copy a table structure

Indexes & keys

8
PRIMARY KEY (id)
Unique row identifier
UNIQUE (email)
Enforce unique values
CREATE INDEX idx_name ON users (name);
Speed up lookups on a column
CREATE INDEX idx_ab ON t (a, b);
Composite (multi-column) index
DROP INDEX idx_name ON users;
Remove an index
FULLTEXT (body)
Full-text search index
EXPLAIN SELECT ...;
Show the query plan
SHOW INDEX FROM users;
List indexes on a table

Data types

9
INT, BIGINT, TINYINT
Integer types by size
DECIMAL(10, 2)
Exact fixed-point numbers
VARCHAR(255)
Variable-length string
TEXT, LONGTEXT
Large text blobs
DATE, DATETIME, TIMESTAMP
Date and time types
BOOLEAN (TINYINT(1))
True/false stored as 0/1
JSON
Native JSON document column
ENUM('a', 'b')
One of a fixed set of values
UNSIGNED
Non-negative numeric 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

Functions

9
NOW(), CURDATE()
Current datetime / date
DATE_FORMAT(d, '%Y-%m-%d')
Format a date
DATEDIFF(a, b)
Days between two dates
CONCAT(a, ' ', b)
Join strings
COALESCE(a, b, 'n/a')
First non-null value
IFNULL(x, 0)
Replace null with a default
CASE WHEN x > 0 THEN '+' ELSE '-' END
Conditional expression
CAST(x AS CHAR)
Convert a value type
ROUND(x, 2)
Round to decimals

Transactions & admin

9
START TRANSACTION;
Begin a transaction
COMMIT;
Persist the transaction
ROLLBACK;
Undo the transaction
SAVEPOINT sp1;
Set a rollback point
SHOW TABLES;
List tables in the database
DESCRIBE users;
Show a table structure
SHOW PROCESSLIST;
List running connections
GRANT ALL ON db.* TO 'u'@'%';
Grant user privileges
mysqldump -u root db > db.sql
Back up a database (CLI)

هیچ موردی با «:q» مطابقت ندارد.


درباره برگهٔ تقلب MySQL

این جزوه‌ی MySQL، SQL‌ای که واقعاً تایپ می‌کنید را در یک مرجع قابل‌جست‌وجو گردآوری می‌کند: کوئری‌نویسی، join‌ها، تجمیع، تغییر داده، دستورات schema و DDL، ایندکس‌ها و کلیدها، انواع داده به‌همراه اندازه‌ها و محدودیت‌هایشان، توابع داخلی، و تراکنش‌ها و دستورات مدیریتی.

این جزوه هم به‌عنوان یادآوری نحو مفید است - شکل دقیق یک LEFT JOIN، یک UPSERT یا یک ALTER TABLE - و هم به‌عنوان جست‌وجویی برای جزئیاتی که کسی از حفظ ندارد، مانند محدوده‌های عدد صحیح، محدودیت‌های VARCHAR و اینکه کدام نوع ایندکس برای یک کوئری مناسب است.

مانند هر جزوه‌ی دیگری در ابزارها، این هم رایگان و سمت کلاینت است: ردیف‌ها را با جعبه‌ی جست‌وجو زنده فیلتر کنید، با فهرست مطالب چسبان بین بخش‌ها بپرید، هر دستور را با یک کلیک کپی کنید و صفحه را برای مرجع روی میز خود چاپ کنید.

نحوه استفاده از برگهٔ تقلب MySQL

  1. جزوه را باز کنید و بخش‌ها را بررسی کنید، از Querying و Joins تا Schema / DDL و Transactions & admin.
  2. برای کلیدواژه‌ای مانند JOIN، INDEX یا GROUP BY جست‌وجو کنید تا همه‌ی قطعه‌کدها زنده فیلتر شوند.
  3. وقتی به جزئیات ذخیره‌سازی نیاز دارید نه نحو، به Data types یا Type sizes & limits بپرید.
  4. روی یک دستور یا آیکون کپی آن کلیک کنید تا SQL در کلیپ‌بورد شما کپی شود.
  5. از Print برای یک نسخه‌ی کاغذی از کل مرجع MySQL استفاده کنید.

سوالات متداول

ده بخش شامل کوئری‌نویسی، join‌ها، تجمیع، تغییر داده، schema DDL، ایندکس‌ها و کلیدها، انواع داده، اندازه‌ها و محدودیت‌های نوع، توابع، و تراکنش‌ها به‌علاوه دستورات مدیریتی - هرکدام به‌صورت یک قطعه‌کد SQL آماده‌کپی.

بله. یک بخش اختصاصی اندازه‌ها و محدودیت‌های نوع را فهرست می‌کند - محدوده‌های عدد صحیح و سقف‌های طول رشته که در غیر این صورت باید در راهنما جست‌وجو کنید - در کنار خود بخش انواع داده.

بله. روی قطعه‌کد SQL یا آیکون کپی ردیف آن کلیک کنید و بلافاصله در کلیپ‌بورد شما کپی می‌شود.

هر دو. جعبه‌ی جست‌وجو هر ردیف را همان‌طور که تایپ می‌کنید با یک شمارنده‌ی تطبیق زنده فیلتر می‌کند، و دکمه‌ی Print یک نسخه‌ی تمیز بدون عناصر اضافی صفحه تولید می‌کند.

بله، کاملاً رایگان است و در مرورگر شما بدون ورود اجرا می‌شود.

اشتراک‌گذاری

جستجوهای پرطرفدار
mysql cheat sheet mysql commands list mysql data types mysql joins syntax mysql alter table syntax mysql index syntax mysql aggregate functions mysql sql reference
به کمک نیاز دارید؟
با این ابزار مشکلی پیدا کردید؟ به تیم ما اطلاع دهید.
گزارش مشکل

این ابزار رایگان را به وب‌سایت خود اضافه کنید — کد زیر را کپی و جای‌گذاری کنید.