Bảng tra cứu MySQL
Một tài liệu tham khảo MySQL có thể tìm kiếm và in được — truy vấn, join, chỉ mục, hàm, kiểu dữ liệu và các lệnh quản trị. Miễn phí.
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
Không có mục nào khớp với “:q”.
Giới thiệu về Bảng tra cứu MySQL
Trang tổng hợp MySQL này tập hợp các câu lệnh SQL bạn thực sự gõ vào một tài liệu tham khảo có thể tìm kiếm: truy vấn, join, tổng hợp, sửa đổi dữ liệu, schema và câu lệnh DDL, chỉ mục và khóa, kiểu dữ liệu cùng kích thước và giới hạn của chúng, các hàm tích hợp sẵn, và giao dịch cùng lệnh quản trị.
Nó hữu ích cả như một lời nhắc về cú pháp — hình dạng chính xác của một LEFT JOIN, một UPSERT hay một ALTER TABLE — lẫn như một nơi tra cứu các chi tiết không ai nhớ hết, như phạm vi số nguyên, giới hạn VARCHAR và loại chỉ mục nào phù hợp với một truy vấn.
Giống như mọi trang tổng hợp khác trong công cụ, nó miễn phí và chạy phía client: lọc các dòng trực tiếp bằng ô tìm kiếm, nhảy giữa các phần bằng mục lục dính, sao chép bất kỳ câu lệnh nào chỉ với một cú nhấp và in trang để tham khảo ngay trên bàn làm việc.
Cách sử dụng Bảng tra cứu MySQL
- Mở trang tổng hợp và xem qua các phần, từ Querying và Joins đến Schema / DDL và Transactions & admin.
- Tìm kiếm một từ khóa như JOIN, INDEX hoặc GROUP BY để lọc tất cả các đoạn mã trực tiếp.
- Nhảy đến Data types hoặc Type sizes & limits khi bạn cần thông tin lưu trữ thay vì cú pháp.
- Nhấp vào một câu lệnh hoặc biểu tượng sao chép của nó để sao chép SQL vào clipboard.
- Dùng Print để có một bản in giấy của toàn bộ tài liệu tham khảo MySQL.