| # | 操作 | 命令 | 說明 |
|---|---|---|---|
| 1 | 顯示表結構 | DESC table_name; SHOW COLUMNS FROM table_name; | 欄位、類型、NULL、Key、Default、Extra |
| 2 | 建立資料表 | USE db_name; CREATE TABLE t (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), gender CHAR(1)); | 指定引擎 ENGINE=InnoDB、字符集 CHARSET=utf8mb4 |
| 3 | 刪除資料表 | DROP TABLE table_name; | 結構與資料全刪,不可恢復 |
| 4 | 重命名資料表 | ALTER TABLE old_name RENAME TO new_name; | 或 RENAME TABLE old TO new; |
| 5 | 查詢所有資料 | SELECT * FROM table_name; | 生產環境慎用,加 LIMIT 或 WHERE |
| 6 | 插入資料 | INSERT INTO table_name (col1, col2) VALUES ('val1', 'val2'); | 可批次:VALUES (...), (...), (...); |
| 7 | 更新資料 | UPDATE table_name SET col1='a', col2='b' WHERE col3='c'; | **必加 WHERE**,否則全表更新 |
| 8 | 清空資料表 | TRUNCATE TABLE table_name; | 重置自增 ID,速度極快,不觸發 Trigger |
| 9 | 文字檔匯入 | LOAD DATA LOCAL INFILE '/path/file.txt' INTO TABLE t FIELDS TERMINATED BY '\t'; | 需啟用 local_infile=1,客戶端加 --local-infile |
| 10 | 顯示建表語句 | SHOW CREATE TABLE table_name; | 含引擎、字符集、分區、外鍵等完整定義 |
| 命令 | 用途 |
|---|---|
| SHOW PROCESSLIST; | 檢視當前連線、鎖等待、慢查詢 |
| SHOW ENGINE INNODB STATUS\G | InnoDB 內部鎖、事務、死鎖詳情 |
| EXPLAIN SELECT ...; | 執行計畫分析,索引優化核心 |
| FLUSH TABLES WITH READ LOCK; | 全庫鎖定備份前置 (配合快照) |
| SET GLOBAL innodb_buffer_pool_size=...; | 線上調整緩衝池 (5.7+ 支援動態) |
↑/↓ 方向鍵翻閱歷史,Ctrl+R 搜尋歷史。\G 替代分號,結果直向排列,適合寬表/長欄位。SET SQL_SAFE_UPDATES=1; 禁止無 KEY 的 UPDATE/DELETE。熟練這 10+5 條命令,涵蓋 90% 日常開發運維場景。建議建立個人 Cheat Sheet,或配置 Client 工具快捷鍵,提升終端機作業效率。