MySQL 廣泛應用於中小企業,憑藉開源免費、易管理、效能優異成為 LAMP 棧核心組件。本文整理從啟動連線到進階索引、分頁、限制功能的核心知識點,作為開發者、運維者的桌邊速查卡片。
| 操作 | 命令 |
|---|---|
| 啟動服務 | |
| 連線 | |
| 列出資料庫 | |
| 選擇資料庫 | |
| 列出資料表 | |
| 顯示表結構 | |
| 通配符 | |
| 每句結尾 |
SELECT NOW(); -- 當前日期時間
SELECT USER(); -- 當前連線用戶
SELECT VERSION(); -- 服務版本
SELECT DATABASE(); -- 當前資料庫
-- 新增管理員
GRANT ALL ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';
-- 刷新權限
FLUSH PRIVILEGES;
| 場景 | 命令 |
|---|---|
| 備份整庫 | |
| 備份單表 | |
| 恢復整庫 | |
| 刪除表 (檔案級,慎用) |
-- 臨時表 (連線關閉自動銷毀)
CREATE TEMPORARY TABLE tmp (name VARCHAR(10));
-- 若不存在則建表
CREATE TABLE IF NOT EXISTS students (...);
-- 復制結構 (不含資料)
CREATE TABLE tbl2 SELECT * FROM tbl1 WHERE 1<>1;
-- 完整復制 (結構+資料)
CREATE TABLE tbl2 SELECT * FROM tbl1;
| 操作 | 命令 |
|---|---|
| 重命名表 | |
| 修改欄位型別 | |
| 重命名欄位+改型別 | |
| 新增索引 | |
| 新增唯一索引 | |
| 刪除索引 |
-- CONCAT 拼接
SELECT CONCAT(id, ':', name, '=') FROM students;
-- LIMIT 分頁 (第一筆 offset=0)
SELECT * FROM students ORDER BY id LIMIT 9, 10; -- 第 2 頁,每頁 10 筆
注意:現代版本 (5.7/8.0) 已全面支援上述功能,僅作歷史參考。
<, <=, >=, >, =, BETWEEN, IN, LIKE 'prefix%' (不以 %/_ 開頭)
EXPLAIN SELECT * FROM students WHERE id = 10;
-- 關鍵欄位:type (const/ref/range/index/all)、key (實際用到的索引)、rows (預估掃描行數)
掌握上述「連線→庫表→備份→結構變更→索引→分頁→限制」知識鏈,覆蓋 80% 日常 MySQL 操作場景。建議配合 EXPLAIN 養成「寫 SQL 必看執行計劃」習慣,讓索引真正為查詢提速。