mysql 插入 詳解

2021-09-08 04:24:14 字數 2208 閱讀 6177

表建立好後,就可以往裡插入記錄了,插入記錄的基本語法如下:

insert into tablename (field1,field2,……fieldn) values(value1,value2,……valuesn);

例如,向表emp 中插入以下記錄:ename 為zzx1,hiredate 為2000-01-01,sal 為2000,deptno為1,命令執行如下:

mysql> insert into emp (ename,hiredate,sal,deptno) values('

zzx1

','2000-01-01

','2000

',1);

query ok, 1 row affected (0.00 sec)

也可以不用指定欄位名稱,但是values 後面的順序應該和字段的排列順序一致:

mysql> insert into emp values('

lisa

','2003-02-01

','3000

',2);

query ok, 1 row affected (0.00 sec)

對於含可空字段、非空但是含有預設值的字段、自增字段,可以不用在insert 後的字段列表裡面出現,values 後面只寫對應欄位名稱的value,這些沒寫的字段可以自動設定為null、

mysql> insert into emp (ename,sal) values('

dony

',1000);

query ok, 1 row affected (0.00 sec)

來檢視一下實際插入值:

mysql> select * from

emp;

+--------+------------+---------+--------+

| ename | hiredate | sal | deptno |

+--------+------------+---------+--------+

| zzx | 2000-01-01 | 100.00 | 1 |

| lisa | 2003-02-01 | 400.00 | 2 |

| bjguan | 2004-04-02 | 100.00 | 1 |

| dony | null | 1000.00 | null |

+--------+------------+---------+--------+

果然,設定為可空的兩個欄位都顯示為null。

在mysql 中,insert 語句還有乙個很好的特性,可以一次性插入多條記錄,語法如下:

insert into tablename (field1, field2,……fieldn)

values

(record1_value1, record1_value2,……record1_valuesn),

(record2_value1, record2_value2,……record2_valuesn),

……(recordn_value1, recordn_value2,……recordn_valuesn)

;

可以看出,每條記錄之間都用逗號進行了分隔。

下面的例子中,對錶dept 一次插入兩條記錄:

mysql> insert into dept values(5,'

dept5

'),(6,'

dept6');

query ok, 2 rows affected (0.04sec)

records: 2duplicates: 0 warnings: 0

mysql> select * from

dept;

+--------+----------+

| deptno | deptname |

+--------+----------+

| 1 | tech |

| 2 | sale |

| 5 | fin |

| 5 | dept5 |

| 6 | dept6 |

+--------+----------+

5 rows in set (0.00 sec)

這個特性可以使得mysql 在插入大量記錄時,節省很多的網路開銷,大大提高插入效率。

MySQL批量SQL插入效能優化詳解

對於一些資料量較大的系統,資料庫面臨的問題除了查詢效率低下,還有就是資料入庫時間長。特別像報表系統,每天花費在資料匯入上的時間可能會長達幾個小時或十幾個小時之久。因此,優化資料庫插入效能是很有意義的。經過對mysql innodb的一些效能測試,發現一些可以提高insert效率的方法,供大家參考參考...

mysql插入 mysql條件插入

新建表 create table t user usernamevarchar 100 gender varchar 2 帶條件插入,如果表中沒有username name1 的記錄,就插入,否則就不插入 insert into t user select name1 m from dual whe...

mysql插入資料寫法 mysql 批量插入資料

mysql使用insert插入多條記錄,應該如何操作呢?下面就為您詳細介紹mysql使用insert插入多條記錄的實現方法,供您參考。看到這個標題也許大家會問,這有什麼好說的,呼叫多次insert語句不就可以插入多條記錄了嗎!但使用這種方法要增加伺服器的負荷,因為,執行每一次sql伺服器都要同樣對s...