插入資料 INSERT

2021-10-05 03:47:24 字數 2096 閱讀 1564

顧名思義,insert是用來插入行到資料庫表的

插入可以用幾種方式使用:

插入完整的行

插入行的一部分

插入多行

插入某些查詢結果

分析:此例子為插入乙個新客戶到customers表,如果某個列沒有值,應該使用null(表允許該值為空),第一列cust_id也為null,因為這是自動增量

上面的語法很簡單,但並不安全,因為它高度依賴於表中列的定義次序,也不能保證下一次表結構變動後的次序和原來相同。

我們來改動一下insert語句,使它更安全。

insert into customers

( cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country,

cust_contact,

cust_email

)values

( 'pep',

'100 street',

'los angles',

'ca',

'90046',

'usa',

null,

null

)

分析:我們給出了明確的列名,在插入時只需保證value與之對應就行了。而且該列的順序與表中定義的順序可以不同

省略列的情況:該列定義為允許null值(無值或空值)該列定義給出了預設值如果表中不允許為null且沒有預設值的列,插入時不給出值,則會報錯

每一組值用圓括號括起來,用逗號分隔,此技術可以提高資料庫處理的效能,因為單條語句比多條語句執行速度塊

insert into customers

( cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country

)values

( 'pep',

'100 street',

'los angles',

'ca',

'90046',

'usa'),(

'aaa',

'31 street',

'new york',

'ny',

'11232',

'china'

);

加入你想把一張表的資料插入到另一張表,你可以使用插入查詢insert select.

insert into customers

( cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country

)select

cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country

from custnew;

這個例子使用insert select從custnew中將所有資料插入到customers。

mysql不關心select返回的列名,因此select的第一列值將用來填充insert中指定的第一列。這對於使用不同列名的表中匯入資料是非常有用的。

insert 插入資料

語法格式 insert into 表名稱 欄位名稱1,欄位名稱2 values 值1,值2,建立備份表myemp create table myemp as select from emp 標準語法 對於沒有資料的列就不寫進欄位列表 insert into myemp empno,ename,job...

SQL系列 插入資料(insert)

總述 insert 是用來插入行到資料庫表的。插入資料庫表可以分為幾種 a.插入完整的行 資料庫表有多少個字段就插入多少欄位的值 b.插入行的一部分 c.插入多行 d.插入某些查詢的結果。a.插入完整的行 insert into customers value null,pep e.100 main...

MyBatis批量插入 insert 資料操作

在程式中封裝了乙個list集合物件,然後需要把該集合中的實體插入到資料庫中,由於專案使用了spring mybatis的配置,所以打算使用mybatis批量插入,由於之前沒用過批量插入,在網上找了一些資料後最終實現了,把詳細過程貼出來。實體類trainrecord結構如下 1 2 3 4 5 6 7...