一、啟動與退出
# 方式一:命令列客戶端
mysql -uroot -p123
# 方式二:系統服務
net start mysql / net stop mysql
# 退出
exit / quit
二、資料庫操作
CREATE DATABASE xhkdb CHARACTER SET utf8mb4;
SHOW DATABASES;
DROP DATABASE xhkdb;
USE xhkdb;
SELECT DATABASE(); -- 當前庫
SHOW TABLES; -- 當前庫所有表
三、用戶與權限
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost' IDENTIFIED BY 'pwd123';
FLUSH PRIVILEGES;
四、表操作
CREATE TABLE MyClass (
id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT,
name CHAR(20) NOT NULL,
sex INT(4) NOT NULL DEFAULT 0,
degree DOUBLE(16,2)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DESC MyClass; -- 結構
SHOW COLUMNS FROM MyClass; -- 同 DESC
DROP TABLE MyClass;
INSERT INTO MyClass (name, degree) VALUES ('Tom', 96.45), ('Joan', 82.99);
SELECT * FROM MyClass;
SELECT * FROM MyClass ORDER BY id LIMIT 0,2; -- 前 2 行
DELETE FROM MyClass WHERE id=1;
UPDATE MyClass SET name='Mary' WHERE id=1;
ALTER TABLE MyClass ADD passtest INT(4) DEFAULT 0;
RENAME TABLE MyClass TO YouClass;
五、常用資料型別
| 型別 | 說明 | 範例 |
| INT[(M)] | 整數 | INT(11) |
| DOUBLE[(M,D)] | 雙精度浮點數 | DOUBLE(10,2) |
| DATE | 日期 1000-01-01 ~ 9999-12-31 | '2024-03-12' |
| CHAR(M) | 定長字串,右補空格 | CHAR(10) |
| VARCHAR(M) | 變長字串 | VARCHAR(255) |
| TEXT / BLOB | 長文本/二進位,最大 65535 字元 | TEXT |
六、資料庫備份與還原
# 完整備份
mysqldump -uroot -p --default-character-set=utf8mb4 xhkdb > xhkdb.sql
# 單表備份
mysqldump -uroot -p xhkdb MyClass > MyClass.sql
# 僅結構
mysqldump -uroot -p -d --add-drop-table xhkdb > xhkdb_schema.sql
# 還原
mysql -uroot -p xhkdb < xhkdb.sql
# 或進入 mysql 後
SOURCE /path/to/xhkdb.sql;
七、進階技巧
- 批量更新:
UPDATE t SET col = REPLACE(col, 'old', 'new');
- 欄位前綴:
UPDATE article SET content = CONCAT(' ', content);
- 查看表狀態:
SHOW TABLE STATUS FROM db_name;
- 修復表:
mysqlcheck -uroot -p --auto-repair --check db_name