---
# System prepended metadata

title: SQL語法

---

# 初始化設定


# SQL語法

- **Microsoft Sql Server**
資料欄位不用前後單引號" `` 

- **使用phpmyadmin Mysql資料庫**
進入MySQL資料庫，在網頁輸入`http://localhost/phpmyadmin`
初始登入帳戶:帳號`root` 密碼無


## 選擇資料庫
```sql!=
USE Database;
```

## 創建資料庫, 資料表

```sql!=
CREATE TABLE table_name (
    number int(10),
    text varchar(50)
);
```

## ALERT 指令

當需要修改到資料表的結構或是名稱十，需要用到ALERT指令。

`ALERT`指令還可以額外對資料庫進行修改[LINK]("https://www.w3big.com/zh-TW/mysql/mysql-alter.html")[LINK]("https://www.runoob.com/mysql/mysql-alter.html")

```sql!=
ALERT TEBLE table_name
```


## 基本語法 CRUD(增查改刪)

Creat, Read, Update, Delete
新增, 查詢, 修改, 刪除

舉例：這有資料表名為`dataDB`，裏頭還有幾筆資料
<table>
    <tr>
        <th>name</th>
        <th>age</th>
        <th>_money</th>
    </tr>
    <tr>
        <td>Jhon</td>
        <td>30</td>
        <td>1000</td>
    </tr>
    <tr>
        <td>Chang</td>
        <td>25</td>
        <td>500</td>
    </tr>
</table>

**注意-** 資料庫的欄位當中請別命名money，在php指令好像無法執行有關money的命名

指令格式：
```
指令動作 `資料庫`
```
### INSERT
```sql!
INSERT INTO `dataDB` (`name`, `age`, `money`) VALUES ('Lee', '45', '1500'); 
-- 插入 資料表`dataDB` 名子、年齡及金額，值寫後面Values裡面
```
<table>
    <tr>
        <td>name</td>
        <td>age</td>
        <td>_money</td>
    </tr>
    <tr>
        <td>Lee</td>
        <td>45</td>
        <td>1500</td>
    </tr>
</table>

### SELECT

語法查詢單一欄位資料	select 欄位名 from 資料表名稱

`WHERE`為指定式/條件
```sql!
SELECT * FROM = `dataDB`; -- 結果顯示資料表的全部資料
SELECT * FROM `dataDB` where `age` = 30; -- 結果顯示資料為'age'年齡30的資料列
```

#### 舉例2

條件性選擇資料：
```sql!
-- 選取 `錢` 來自 `資料庫` 在哪裡/指定 `名子` = 'Jhon'
SELECT `_money` FROM `dataDB` WHERE `name` = 'Jhon' AND `age` = '30'
```
結果：
<table>
    <tr><td>_money</td></tr>
    <tr><td>1000</td></tr>
</table>

### UPDATE

UPDATE可理解為修改/更新資料
```sql!
-- 更新 `資料庫` 設置 `錢` = 1000 在哪裡/指定 `名子` = '張'
UPDATE `dataDB` SET `_money` = 1000 WHERE `name` = 'Chang' 
```
透過`WHERE`可以有過濾性 或 特定選擇性 的資料比去修改該選擇資料中的金錢
修改資料比中，名子'張'的金錢數為1000

### DELETE
```sql!
DELETE FROM `dataDB` WHERE `name` = 'Lee';
```

:::spoiler SQL Server
## 資料型態
char varchar nchar nvarchar
有var定長
沒有var變長
n:unicode編碼 有n用2Byte儲存 沒有n英文用1Byte儲存
:::
