---
# System prepended metadata

title: SQL基礎教學-EP01

---

# SQL基礎教學-EP01

### 前言
&nbsp;&nbsp;工程師必備的技能，就是操作資料庫(DataBase，簡稱DB)，資料庫入門不外乎就是CRUD圍繞在這裡，接下來就介紹什麼是CRUD。

### 何謂CRUD?
#### C
&nbsp;&nbsp;Create：創建新資料
#### R
&nbsp;&nbsp;Read：讀取資料
#### U
&nbsp;&nbsp;Update：修改資料
#### D
&nbsp;&nbsp;Delete：刪除資料
:::danger
說明：
Delete功能切記不要隨便使用，因為刪除資料就找不回來了，請務必使用前先備份資料。
※笑話：刪庫到跑路
:::

### 實作
#### 建立資料表
``` SQL=
CREATE TABLE 表名 (
欄位1名稱 欄位1型別,
欄位2名稱 欄位2型別,
欄位3名稱 欄位3型別
);
```

#### 建立一筆假資料到資料表
假設現在有一張Member表
```SQL=
CREATE TABLE member (
name varchar,
email varchar,
phone varchar
);
```

使用 `INSERT INTO` 新增資料。
```SQL=
INSERT INTO member (name, email, phone)
VALUES (
'Tom', 
'test@example.com', 
0900000000
);
```
:::info
說明：
* `member`：資料表名稱
* `(name, email, phone)`：要新增資料的欄位
* `VALUES`：對應欄位的實際值
:::

#### 查詢資料表資料
使用 `SELECT` 查詢資料。

##### 查詢全部
```SQL=
SELECT * 
FROM member;
```

##### 查詢指定欄位
```SQL=
SELECT name, email 
FROM member;
```

##### 搭配條件查詢
```SQL=
SELECT * 
FROM member
WHERE name = 'Tom';
```

#### 修改資料表資料
使用 `UPDATE` 修改資料。
```SQL=
UPDATE member
SET phone = 0912345678
WHERE name = 'Tom';
```

:::info
說明：
* `SET`：指定要修改的欄位與新值
* `WHERE`：限制修改範圍

> ⚠️ **非常重要**：
> 如果沒有 `WHERE`，整張資料表都會被更新！
:::

#### 刪除資料表資料
使用 `DELETE` 刪除資料。
```SQL=
DELETE FROM member
WHERE name = 'Tom';
```

### CRUD總結
| 操作 | SQL 語法 | 用途   |
| -- | ------ | ---- |
| C  | INSERT | 新增資料 |
| R  | SELECT | 查詢資料 |
| U  | UPDATE | 修改資料 |
| D  | DELETE | 刪除資料 |

### 結語
&nbsp;&nbsp;基本上只要會以上的操作就能應付許多功能需求了，但是SQL語句不單單只有這些，還有許多進階的操作語法。

&nbsp;&nbsp;[下一篇會介紹到WHERE進階操作](https://hackmd.io/@Ernie1999/SkuxIf8rZl)。

---
> 歡迎隨意引用或拷貝，若有涉及侵權概不負責。
