整理 PHP 開發中高頻使用的 DDL/DML 語句模板,涵蓋庫表結構變更、索引管理、增刪改查、權限控制,適合貼在工位速查。
SHOW DATABASES;
USE db_name;
SHOW TABLES;
DESC table_name;
SHOW CREATE TABLE table_name;
-- 重命名表
ALTER TABLE old_name RENAME new_name;
-- 新增列
ALTER TABLE t ADD COLUMN col_name VARCHAR(100) NOT NULL DEFAULT '' COMMENT '備註';
-- 刪除列
ALTER TABLE t DROP COLUMN col_name;
-- 修改列定義 (類型/長度/預設值/註釋)
ALTER TABLE t CHANGE old_col new_col VARCHAR(200) NOT NULL DEFAULT '' COMMENT '新註釋';
-- 或
ALTER TABLE t MODIFY col_name VARCHAR(200) NOT NULL DEFAULT '';
-- 新增索引
ALTER TABLE t ADD INDEX idx_name (col1, col2);
ALTER TABLE t ADD UNIQUE INDEX uk_name (col_name);
ALTER TABLE t ADD PRIMARY KEY (id);
-- 刪除索引
ALTER TABLE t DROP INDEX idx_name;
-- 插入單行
INSERT INTO t (col1, col2) VALUES ('val1', 123);
-- 插入多行 (批次)
INSERT INTO t (col1, col2) VALUES ('a',1), ('b',2), ('c',3);
-- 更新
UPDATE t SET col1='new_val' WHERE col2=3;
-- 刪除
DELETE FROM t WHERE col2=3;
-- 刪表/庫 (慎用)
DROP TABLE t;
DROP DATABASE db_name;
ANALYZE TABLE 更新統計信息,OPTIMIZE TABLE 整理碎片。CREATE USER 'user'@'host' IDENTIFIED BY 'pass';
GRANT SELECT, INSERT ON db.* TO 'user'@'host';
REVOKE DELETE ON db.* FROM 'user'@'host';
DROP USER 'user'@'host';
生產環境所有 DDL 變更請走變更流程:提交工單 → 評估影響 → 測試環境驗證 → 低峰期執行 → 回滾預案。切勿直接在生產庫手工執行 ALTER 大表 (易鎖表阻塞),可用pt-online-schema-change或gh-ost在線變更。