系統整理 MySQL 常用 SQL 語句,涵蓋資料定義 (DDL)、資料操作 (DML)、資料控制 (DCL) 三大類,附帶實用範例,適合開發與運維快速查閱。
CREATE DATABASE db_name;DROP DATABASE db_name;CREATE TABLE tbl (col1 TYPE1 [NOT NULL] [PRIMARY KEY], col2 TYPE2 ...);CREATE TABLE new_tbl LIKE old_tbl;CREATE TABLE new_tbl AS SELECT col1, col2 FROM old_tbl;DROP TABLE tbl_name;ALTER TABLE tbl_name ADD COLUMN col_name TYPE;ALTER TABLE tbl_name ADD PRIMARY KEY (col);ALTER TABLE tbl_name DROP PRIMARY KEY;CREATE [UNIQUE] INDEX idx_name ON tbl_name (col...);DROP INDEX idx_name ON tbl_name;(索引不可修改,需重建)CREATE VIEW view_name AS SELECT ...;-- 模糊查詢
SELECT * FROM t WHERE field LIKE '%value%';
-- 排序
SELECT * FROM t ORDER BY field1, field2 [DESC];
-- 聚合函數
SELECT COUNT(*) AS total FROM t;
SELECT SUM(field) AS sum_val FROM t;
SELECT AVG(field) AS avg_val FROM t;
SELECT MAX(field) AS max_val FROM t;
SELECT MIN(field) AS min_val FROM t;
-- 左外連接
SELECT a.a, a.b, b.c FROM a LEFT JOIN b ON a.a = b.c;
INSERT INTO t (field1, field2) VALUES (val1, val2);
DELETE FROM t WHERE condition;
UPDATE t SET field1=val1 WHERE condition;
GRANT privileges [(columns)] ON db.tbl TO 'user'@'host' IDENTIFIED BY 'pwd' [WITH GRANT OPTION];
常用權限:SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, ALL PRIVILEGES。
Host 值:localhost (本機)、192.168.1.% (IP 段)、% (任意 IP)。
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'pwd' WITH GRANT OPTION;GRANT SELECT ON *.* TO 'readonly'@'%' IDENTIFIED BY 'pwd';REVOKE privileges ON db.tbl FROM 'user'@'host';
-- 僅撤權,用戶記錄保留
-- 徹底刪除 (MySQL 5.7+)
DROP USER 'user'@'host';
-- 或舊版本
DELETE FROM mysql.user WHERE User='user' AND Host='host';
FLUSH PRIVILEGES;
COMMIT; 提交事務ROLLBACK; 回滾事務lower_case_table_names 設定),主機名、欄位名不敏感。FLUSH PRIVILEGES; 使其生效(GRANT/REVOKE 自動刷新,直接操作授權表則需手動)。