一、核心術語
| 術語 | 說明 |
| Database (資料庫) | 組織化的資料集合 |
| DBMS | 資料庫管理系統 (MySQL、PostgreSQL、SQL Server...) |
| Column / Row | 欄位 / 列 (記錄) |
| Primary Key | 唯一識別每列,非空、唯一 |
| SQL | 結構化查詢語言,標準化、跨 DBMS |
二、連線與基本操作
# 連線
mysql -u user -p -h host -P port
# 客戶端內部
HELP 或 \h -- 幫助
QUIT / EXIT / \q -- 離開
; 或 \g -- 執行語句
三、資料庫/資料表 DDL
SHOW DATABASES;
CREATE DATABASE mydb CHARACTER SET utf8mb4;
USE mydb;
CREATE TABLE product (
pro_id INT PRIMARY KEY AUTO_INCREMENT,
pro_price DECIMAL(10,2),
pro_name VARCHAR(50)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DESCRIBE product; -- 或 DESC product
四、資料操作 DML
-- 插入單筆
INSERT INTO product (pro_price, pro_name) VALUES (15.00, 'pen');
-- 批次插入
INSERT INTO product (pro_price, pro_name) VALUES
(12.00, 'toothpaste'),
(18.00, 'belt'),
(52.30, 'pot');
-- 更新
UPDATE product SET pro_price = 50.00 WHERE pro_name = 'pot';
-- 刪除
DELETE FROM product WHERE pro_name = 'pen';
-- 清空表 (保留結構、重置自增)
TRUNCATE TABLE product;
五、查詢進階
-- 去重
SELECT DISTINCT pro_name FROM product;
-- 分頁 (MySQL)
SELECT * FROM product LIMIT 10 OFFSET 20; -- 第 3 頁,每頁 10 筆
-- 或
SELECT * FROM product LIMIT 20, 10;
-- 排序
SELECT * FROM product ORDER BY pro_price DESC, pro_name ASC;
-- 完全限定名稱
SELECT mydb.product.pro_name FROM mydb.product;
-- 找最高/最低價
SELECT pro_price, pro_name FROM product ORDER BY pro_price DESC LIMIT 1;
六、字符集與中文支援
-- 建表指定
CREATE TABLE t (c VARCHAR(20)) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 修改既有表
ALTER TABLE t CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
七、Navicat 圖形化操作提示
- 右鍵資料表 → 「設計表」可視化設定欄位、主鍵、索引、字符集
- 資料檢視模式支援內嵌編輯、篩選、匯出