MySQL چیٹ شیٹ
ایک قابلِ تلاش، قابلِ پرنٹ MySQL حوالہ — کوئریز، 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 چیٹ شیٹ کے بارے میں
یہ MySQL cheat sheet وہ SQL جو آپ واقعی ٹائپ کرتے ہیں ایک تلاش کے قابل حوالے میں جمع کرتی ہے: querying، joins، aggregation، ڈیٹا میں ترمیم، schema اور DDL statements، indexes اور keys، سائز اور حدود کے ساتھ data types، built-in فنکشنز، اور transactions اور انتظامی کمانڈز۔
یہ syntax یاد دہانی کے طور پر مفید ہے — LEFT JOIN، UPSERT یا ALTER TABLE کی صحیح شکل — اور ان تفصیلات کی تلاش کے طور پر بھی جنہیں کوئی یاد نہیں رکھتا، جیسے integer ranges، VARCHAR کی حدود اور کون سا index type کس کوئری کے لیے موزوں ہے۔
ٹولز کی ہر cheat sheet کی طرح یہ مفت اور کلائنٹ-سائیڈ ہے: سرچ باکس سے لائیو لائنیں فلٹر کریں، sticky table of contents سے سیکشنز کے درمیان جائیں، ایک کلک سے کوئی بھی statement کاپی کریں اور اپنی میز کے حوالے کے لیے صفحہ پرنٹ کریں۔
MySQL چیٹ شیٹ استعمال کرنے کا طریقہ
- شیٹ کھولیں اور سیکشنز کا جائزہ لیں، Querying اور Joins سے Schema / DDL سے ہوتے ہوئے Transactions & admin تک۔
- تمام اسنپٹس کو لائیو فلٹر کرنے کے لیے JOIN، INDEX یا GROUP BY جیسا کلیدی لفظ تلاش کریں۔
- جب آپ کو syntax کی بجائے اسٹوریج تفصیلات چاہیں تو Data types یا Type sizes & limits پر جائیں۔
- SQL اپنے کلپ بورڈ پر کاپی کرنے کے لیے کسی statement یا اس کے کاپی آئیکن پر کلک کریں۔
- مکمل MySQL حوالے کی کاغذی کاپی کے لیے Print استعمال کریں۔