系統梳理 MySQL 支持的 SQL 語句分類、命名規範、大小寫規則、六大表類型特性、索引操作與表結構變更語法。
| 類別 | 關鍵字 |
|---|---|
| 數據庫操作 | USE, CREATE DATABASE, DROP DATABASE, ALTER DATABASE |
| 表與索引 | CREATE TABLE, DROP TABLE, CREATE INDEX, DROP INDEX, ALTER INDEX |
| 數據查詢 | SELECT, UNION |
| 事務控制 | BEGIN, COMMIT, ROLLBACK, SET AUTOCOMMIT |
| 數據修改 | DELETE, INSERT, LOAD DATA, REPLACE, UPDATE |
| 管理命令 | FLUSH, GRANT, REVOKE |
_、$db_name.tbl_name.col_name(完全限定)→ tbl_name.col_name(部分)→ col_name(無限定)| 對象 | 敏感度 | 依賴因素 |
|---|---|---|
| 關鍵字/函數名 | 不敏感 | — |
| 庫名/表名 | 視作業系統而定 | Windows 不敏感,Linux 區分 |
| 列名/索引名 | 不敏感 | — |
| 別名 | 敏感 | — |
最佳實踐:同一查詢中庫/表/列名大小寫保持前後一致,養成良好編程習慣。
| 類型 | 核心特性 | 適用場景 | 文件後綴 | 可移植 |
|---|---|---|---|---|
| ISAM | 3.23 前唯一類型,已廢棄 | 歷史遺留 | .frm .isd .ism | 否 |
| MyISAM | 默認引擎;大文件支持、跨平台拷貝、全文索引、壓縮索引、自增強化 | 只讀/讀多寫少、全文搜索 | .frm .MYD .MYI | 是 |
| MERGE | 同結構 MyISAM 表邏輯合併 | 大表分片查詢 | .frm .MRG | 是 |
| HEAP (MEMORY) | 內存表、固定行長、極快讀寫、重啟數據丟失 | 臨時表、緩存、映射表 | .frm | 否 |
| BDB | 支持事務、良好並發 | 需事務但不需外鍵 | .frm .db | 否 |
| InnoDB | 事務、崩潰恢復、外鍵級聯、行級鎖、MVCC | 核心業務、高並發、數據完整性要求高 | .frm (.ibd) | 是 |
ALTER TABLE tbl ADD INDEX idx_name (col)CREATE INDEX idx_name ON tbl (col)CREATE TABLE tbl (..., INDEX idx_name (col))| 操作 | 語法示例 | 關鍵注意點 |
|---|---|---|
| 重命名表 | RENAME TABLE A TO B / ALTER TABLE A RENAME TO B | 支持跨庫移動 RENAME TABLE db1.t TO db2.t |
| 修改列類型 | ALTER TABLE A MODIFY col MEDIUMINT UNSIGNED | CHANGE 可同時改名改類型,MODIFY 僅改類型 |
| 可變↔固定行長 | ALTER TABLE A MODIFY name CHAR(40), MODIFY addr CHAR(80) | 必須單條 ALTER 同時修改所有列,否則失敗 |
| 轉換引擎 | ALTER TABLE A ENGINE=InnoDB | 需鎖表重建,大表慎用;InnoDB 支持事務與外鍵 |