連線與資料庫基本管理
# 連線指令
mysql -h[主機] -u[用戶] -p[密碼]
# 建立/顯示/選擇資料庫
CREATE DATABASE db_name;
SHOW DATABASES;
USE db_name;
SELECT DATABASE(); -- 顯示目前資料庫
資料表定義與結構變更
# 建立資料表
CREATE TABLE tbl_name (
col_name data_type [constraints] [parameters],
...
);
# 檢視結構
DESCRIBE tbl_name;
SHOW COLUMNS FROM tbl_name;
SHOW TABLES;
# 修改表結構
ALTER TABLE tbl_name ADD COLUMN col_name data_type;
ALTER TABLE tbl_name ADD PRIMARY KEY (col_name);
ALTER TABLE tbl_name DROP PRIMARY KEY;
資料操作語言 (DML) 核心指令
# 新增資料
INSERT INTO tbl_name VALUES (val1, val2, ...);
# 查詢資料
SELECT * FROM tbl_name WHERE condition;
# 建立索引
CREATE INDEX idx_name ON tbl_name (col_name);
# 刪除資料
DELETE FROM tbl_name WHERE condition;
# 更新資料
UPDATE tbl_name SET col_name = 'new_value' WHERE condition;
外部資料匯入
# 1. 執行 SQL 腳本檔
mysql < input.sql # 目前資料庫
mysql db_name < input.sql # 指定資料庫
# 2. 載入文字檔資料
LOAD DATA LOCAL INFILE 'filename' INTO TABLE tbl_name;
資料庫備份與還原
# 備份 (在 DOS/Shell 下執行)
mysqldump --opt db_name > backup_file.sql
# 還原
mysql db_name < backup_file.sql
常見資料型態快速參考
| 類別 | 型態 | 說明 |
| 數值 | INT | 整數 |
| DECIMAL(m,d) | 定點數 |
| FLOAT/DOUBLE | 浮點數 |
| 字串 | CHAR(n) | 固定長度 |
| VARCHAR(n) | 變動長度 |
| TEXT | 長文字 |
| 日期時間 | DATE / DATETIME / TIMESTAMP | 日期與時間 |
新手避坑提醒
DELETE 不帶 WHERE 會清空全表,謹慎使用。
VARCHAR 比 CHAR 更節省空間,適用於長度不固定的欄位。
- 備份腳本建議加上
--opt 參數以獲得最佳效能與相容性。
- 生產環境務必設定強密碼並限制 root 遠端登入。