[TOC]
# 修改數據語句
新增數據、修改數據、刪除數據
> 在書寫 SQL 語句時我們一般遵循關鍵字是大寫,雖然在SQL中是不區分大小寫的,但是對于關鍵字建議是用大寫,自己定義的表、視圖、函數這類使用小寫。
## 新增數據
* 指定字段插入語法:
```sql
INSERT INTO table_name(field1, field2,...) VALUES(value1, value2, value3)
```
1. field1可以省略不寫,但是如果不寫,后面VALUES的順序是要和你定義時的順序保持一致的;
2. field1如果寫了,那么fields里面的順序要和VALUES后面的數值保持一致。
示例:
~~~
INSERT INTO s(code, name, birthday,age)
values('s001','小米','1999-01-03',11);
~~~
> 在實際的開發中,一般都要給定字段進行插入,不建議省略fields的定義。
* 批量插入查詢結果
```sql
INSERT INTO table_name(field1, field2,...) SELECT field1, field2, ... FROM new_talbe
```
示例:
```sql
INSERT INTO s_v1(code, name, birthday,age)
SELECT code, name, birthday,age FROM s;
```
> s_v1 是 s 的復制表,用來測試批量插入
## 修改數據
> 在程序開發中,修改數據一般是非常關鍵的操作,所以,只要是寫更新數據的語句的時候,一定要想好**條件**。
語法:
```sql
UPDATE table_name SET field1=value1, field2=value2, ... WHERE condition
```
示例:
```sql
UPDATE s SET code='ss6',birthday='1990-10-10' WHERE name='小米';
```
## 刪除數據
> 同樣的和修改數據操作一樣,在刪除數據的時候,一定要加上刪除數據的**條件**。
語法:
```sql
DELETE FROM table_name WHERE condition
```
示例:
```sql
DELETE FROM s WHERE name='小米';
```
**作業1**:建立如下表 stu_info

**作業2**:建立如下表 t_menu (菜單表)
