首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 新手速成指南:SQL 基礎、客戶端操作與資料庫建置實戰

     編輯:MySQL 資料庫相關知識

本文為 MySQL 初學者設計的快速入門教學,涵蓋核心 SQL 語法、客戶端互動操作、資料庫/資料表建立與資料匯入,透過實際指令示範帶您在 30 分鐘內建立第一個資料庫應用。

一、SQL 核心語法速查

1. 建立資料表

CREATE TABLE table_name (
    column_name datatype {IDENTITY | NULL | NOT NULL},
    ...
);
  • 識別字命名規則:字母、數字、底線,不以數字開頭。
  • 欄位清單以逗號分隔,最後一欄無逗號,語句以分號結束。
  • 可指定 PRIMARY KEY、INDEX 等約束。

2. 建立索引

CREATE INDEX index_name ON table_name (col_name[(length)], ...);

例:CREATE INDEX part_of_name ON customer (name(10));(前綴索引,節省空間)。

3. 修改表結構

ALTER TABLE table_name alter_spec [, alter_spec ...];

例:ALTER TABLE t1 CHANGE a b INTEGER;(重命名欄位 a 為 b 並改型態)。

4. 刪除物件

DROP TABLE tb1;
DROP INDEX index_name ON table_name;

5. 查詢 (SELECT)

SELECT [DISTINCT] select_expr, ...
FROM table_references
[WHERE where_definition]
[GROUP BY col_name ...]
[HAVING where_definition]
[ORDER BY {col_name | formula} [ASC | DESC] ...]
[LIMIT [offset,] rows];

WHERE 條件運算子: =, !=, >, >=, <, <=, BETWEEN, IN, LIKE, IS [NOT] NULL。
通配符: _(單字元)、%(任意字串)。
邏輯運算: AND, OR, NOT。

6. 資料異動

-- 新增
INSERT [INTO] table_name [(col_list)] VALUES (expr_list);

-- 刪除
DELETE FROM table_name WHERE condition;

-- 修改
UPDATE table_name SET col1=expr1, col2=expr2 ... WHERE condition;

7. 切換資料庫

USE database_name;

8. 常用聚合函數

  • SUM(expr)、AVG(expr)、COUNT(expr)、COUNT(*)
  • MAX(expr)、MIN(expr)

二、MySQL 客戶端實操演練

1. 建立資料庫

$ mysqladmin create database01
Database "database01" created.

2. 啟動客戶端

$ mysql
Welcome to the MySQL monitor. ...
mysql> 

3. 切換資料庫

mysql> USE database01;
Database changed.

4. 建立資料表

mysql> CREATE TABLE table01 (field01 INTEGER, field02 CHAR(10));
Query OK, 0 rows affected (0.00 sec)

5. 列出資料表與欄位

mysql> SHOW TABLES;
+-----------------+
| Tables_in_db01  |
+-----------------+
| table01         |
+-----------------+

mysql> SHOW COLUMNS FROM table01;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| field01 | int(11)  | YES  |     | NULL    |       |
| field02 | char(10) | YES  |     | NULL    |       |
+---------+----------+------+-----+---------+-------+

6. 插入資料

mysql> INSERT INTO table01 (field01, field02) VALUES (1, 'first');
Query OK, 1 row affected (0.00 sec)

7. 新增欄位

mysql> ALTER TABLE table01 ADD COLUMN field03 CHAR(20);
Query OK, 1 row affected (0.04 sec)

mysql> ALTER TABLE table01 ADD COLUMN field04 DATE, ADD COLUMN field05 TIME;
Query OK, 1 row affected (0.04 sec)

注意: 每個新欄位皆需以 ADD COLUMN 開頭。

8. 多行指令輸入

MySQL 支援多行輸入,提示符變為 ->,直到輸入分號結束:

mysql> CREATE TABLE table33
    -> (field01 INTEGER,
    -> field02 CHAR(30));
Query OK, 0 rows affected (0.00 sec)

陷阱: 字串常數**不可**跨行(硬換行會存入資料),僅 SQL 結構可跨行。

9. 日期/時間格式

  • 標準:'YYYY-MM-DD', 'HH:MM:SS'(需引號)
  • 緊湊:YYYYMMDD, HHMMSS(無引號)
  • 數值型無需引號。
mysql> INSERT INTO table01 VALUES (2, 'second', 'another', '1999-10-23', '10:30:00');
mysql> INSERT INTO table01 VALUES (3, 'third', 'more', 19991024, 103004);

10. 命令緩衝區活用

上下鍵調取歷史指令,修改值後重新執行,大幅減少重複輸入。

11. 更新資料

-- 單欄
UPDATE table01 SET field03='new info' WHERE field01=1;

-- 多欄
UPDATE table01 SET field04=19991022, field05=062218 WHERE field01=1;

-- 批次
UPDATE table01 SET field05=152901 WHERE field04>19990101;

12. 刪除資料

DELETE FROM table01 WHERE field01=3;

13. 退出

mysql> QUIT;
Bye

三、進階學習路徑

  • 多表聯結: INNER/LEFT/RIGHT JOIN、子查詢、UNION。
  • 交易控制: START TRANSACTION, COMMIT, ROLLBACK。
  • 預存程序/觸發器/視圖: 封裝業務邏輯、強制資料完整性。
  • 複寫與高可用: 主從複寫、GTID、MHA/Orchestrator 自動故障轉移。
  • 效能調校: 索引設計、EXPLAIN、緩衝區配置、查詢重寫。

四、官方資源

  • MySQL 官網:https://www.mysql.com
  • 中文參考手冊(晏子譯本):隨光碟附贈 /docs/manual/mysql 目錄,瀏覽器開啟即可離線查閱。

結語

MySQL 以簡易安裝、標準 SQL 相容、豐富生態系統成為入門首選。完成本指南操作,您已掌握資料庫建立、結構定義、資料增刪改查核心技能。下一步請深入學習聯結查詢、交易與索引優化,逐步邁向資料庫工程師之路。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved