基礎導航
SHOW DATABASES; -- 列出庫
CREATE DATABASE db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE db;
DROP DATABASE db; -- 危險:無確認直接刪除
mysqladmin drop db; -- 較安全:有確認提示
表操作
SHOW TABLES;
DESC tbl; -- 結構
SHOW CREATE TABLE tbl; -- 完整 DDL
CREATE TABLE t (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), sex CHAR(1)) ENGINE=InnoDB;
DROP TABLE t;
TRUNCATE TABLE t; -- 快速清空,重置自增,不可回滾
DELETE FROM t; -- 清空資料,可回滾,觸發 Trigger
資料操作 (DML)
-- 插入
INSERT INTO t (name, sex) VALUES ('hyq', 'M');
INSERT INTO t (name, sex) VALUES ('a','M'),('b','F'); -- 批次
-- 查詢
SELECT DISTINCT name FROM t; -- 去重
SELECT * FROM t WHERE name='hyq';
SELECT * FROM t ORDER BY id DESC LIMIT 5; -- 分頁
-- 更新
UPDATE t SET sex='F' WHERE name='hyq';
-- 多行命令:分號結尾
SELECT * FROM t
WHERE id > 10;
資料匯入匯出
-- 文字檔匯入 (本地檔案)
LOAD DATA LOCAL INFILE 'D:/data.txt' INTO TABLE t FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
-- SQL 檔匯入
SOURCE d:/backup.sql;
-- 或 Shell
mysql -uroot -p db < backup.sql
進階查詢技巧
-- 顯示版本與日期
SELECT VERSION(), CURRENT_DATE, NOW();
-- 連續命令只需最後加分號
SELECT USER(); SELECT DATABASE(); SELECT VERSION();
用戶與權限
CREATE USER 'app'@'%' IDENTIFIED BY 'pass';
GRANT SELECT,INSERT,UPDATE,DELETE ON db.* TO 'app'@'%';
GRANT ALL PRIVILEGES ON db.* TO 'admin'@'%';
REVOKE DELETE ON db.* FROM 'app'@'%';
FLUSH PRIVILEGES;
運維管理命令
| 操作 | 命令 |
| 啟動服務 | systemctl start mysqld / net start MySQL80 |
| 停止服務 | systemctl stop mysqld / mysqladmin -uroot -p shutdown |
| 安裝服務 | mysqld --install MySQL80 --defaults-file=D:\MySQL\my.ini |
| 移除服務 | mysqld --remove MySQL80 |
| 備份單庫 | mysqldump --single-transaction --routines --triggers -uroot -p db > backup.sql |
| 備份全例項 | mysqldump --all-databases --single-transaction -uroot -p > full.sql |
| 還原 | mysql -uroot -p db < backup.sql |
| 檢查表 | CHECK TABLE t; REPAIR TABLE t; (MyISAM) |
| 分析統計 | ANALYZE TABLE t; OPTIMIZE TABLE t; |
| 切割 Binlog | FLUSH LOGS; |
| 查看進程 | SHOW PROCESSLIST; SHOW FULL PROCESSLIST; |
| 殺死進程 | KILL 12345; |
新手學習路徑建議
- 掌握
SHOW/CREATE/USE/DROP 庫表基本操作
- 熟練
INSERT/SELECT/UPDATE/DELETE CRUD
- 理解
LIMIT 分頁與 ORDER BY 排序
- 學會
mysqldump/mysql 備份還原
- 建立
GRANT/REVOKE 權限最小化意識
- 進階:索引設計、執行計畫
EXPLAIN、交易控制、主從同步