ชีตสรุป MySQL
ข้อมูลอ้างอิง MySQL ที่ค้นหาและพิมพ์ได้ — คิวรี joins ดัชนี ฟังก์ชัน ชนิดข้อมูล และคำสั่งจัดการระบบ ฟรี
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 นี้รวบรวม SQL ที่คุณพิมพ์จริงไว้ในข้อมูลอ้างอิงที่ค้นหาได้หน้าเดียว: การคิวรี การ join การรวมกลุ่มข้อมูล การแก้ไขข้อมูล คำสั่ง schema และ DDL ดัชนีและคีย์ ชนิดข้อมูลพร้อมขนาดและขีดจำกัด ฟังก์ชันในตัว และคำสั่งธุรกรรมและการดูแลระบบ
มันมีประโยชน์ทั้งเป็นตัวเตือนความจำไวยากรณ์ — รูปแบบที่ถูกต้องของ LEFT JOIN, UPSERT หรือ ALTER TABLE — และเป็นที่ค้นหารายละเอียดที่ไม่มีใครจำได้ เช่น ช่วงของจำนวนเต็ม ขีดจำกัด VARCHAR และชนิดดัชนีใดเหมาะกับคิวรีแบบไหน
เหมือนกับทุกเอกสารสรุปในเครื่องมือ มันฟรีและทำงานฝั่ง client: กรองแถวแบบสดด้วยกล่องค้นหา ข้ามไปมาระหว่างส่วนต่าง ๆ ด้วยสารบัญที่ติดอยู่บนหน้า คัดลอกคำสั่งใด ๆ ด้วยคลิกเดียว และพิมพ์หน้าไว้อ้างอิงที่โต๊ะทำงานของคุณ
วิธีใช้ ชีตสรุป MySQL
- เปิดเอกสารและทบทวนส่วนต่าง ๆ ตั้งแต่ Querying และ Joins ผ่าน Schema / DDL ไปจนถึง Transactions & admin
- ค้นหาคำสำคัญเช่น JOIN, INDEX หรือ GROUP BY เพื่อกรองสนิปเป็ตทั้งหมดแบบสด
- กระโดดไปยัง Data types หรือ Type sizes & limits เมื่อคุณต้องการรายละเอียดการจัดเก็บข้อมูลแทนที่จะเป็นไวยากรณ์
- คลิกคำสั่งหรือไอคอนคัดลอกของมันเพื่อคัดลอก SQL ไปยังคลิปบอร์ดของคุณ
- ใช้ Print เพื่อพิมพ์สำเนาเอกสารอ้างอิง MySQL ฉบับเต็มบนกระดาษ