MySQL插入資料

2021-08-10 05:16:44 字數 2764 閱讀 7054

mysql通過insert來插入行到資料庫表中,通常有以下幾種情況:

1.插入完整的行;

2.插入行的一部分;

3.插入多行;

4.插入某些查詢的資料。

一、插入完整的行

下面為插入一行資料到表customers中的例子:

use crashcourse;

insert

into customers (

cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country,

cust_contact,

cust_email

)values (

'pep e. lapew',

'100 main street',

'los angeles',

'ca',

'90046',

'usa',

'null',

'null'

);

執行結果:

提示插入成功,再檢視該錶:

發現最後一行為剛才插入的資料。剛才給出的例子是在表名後的括號中明確給出了列名,在插入時mysql將用values列表中的相應值填入列表中的對應項。即values中的第乙個值對應於第乙個指定的列名,第二個值對應第二個列名,以此類推。因為提供了列名,values必須以其指定的次序匹配指定的列名,不一定按各個列出現的實際表中的次序。這種方法的優點是即使表的結構改變,此insert語句任然可以正常工作。而且可以省略允許省略的列。下面為不指定列名插入資料的例子,必須按表中的實際順序插入,且不能省略任何列:

insert

into customers

values (

null,

'pep e. lapew',

'100 main street',

'los angeles',

'ca',

'90046',

'usa',

'null',

'null'

);

省略列:如果在表的定義允許,則可以在insert操作中省略某些列。省略的列必須滿足一下某個條件:

1.該列定義為允許null值(無值或空值);

2.在表中定義了給出預設值。這表示如果不給出值,將使用預設值。

如果表中不允許null值,且沒有預設值的列不給出值,則mysql將產生一條錯誤訊息,並且相應的行插入不成功。

二、插入多行

插入多行和插入單行類似,只是在values中用逗號把每一組值分隔開來即可,下面為例子:

insert

into customers (

cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country

)values (

'pep e. lapew',

'100 main street',

'los angeles',

'ca',

'90046',

'usa'),(

'm. martian',

'42 galaxy way',

'new york',

'ny',

'11213',

'usa'

);

三、插入檢索出的資料insert可以將一條select語句的結果插入表中,這就是所謂的insert select。如果想要把兩張表合併為一張表,不需要每次讀取一行,然後將它用insert插入,可以如下操作:

insert

into customers (

cust_id,

cust_contact,

cust_email,

cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country

)select cust_id,

cust_contact,

cust_email,

cust_name,

cust_address,

cust_city,

cust_state,

cust_zip,

cust_country

from custnew;

在這個例子中insert和select語句使用了相同的列名。但是不一定要求列名匹配,事實上,mysql甚至不關心select返回的列名。它使用的是列的位置,因此select中的第一列將用來填充表列中指定的第乙個列,第二列將用來填充表列中的第二列,如此等等。這對於從使用不同列名的表中匯入資料是非常有用的。

insert select中select語句可以包含where語句以過濾插入的資料。

My SQL 插入資料

在這裡我們有乙個新建的表如下 我們使用insert可以插入單行 多行和插入查詢的結果。插入單行的兩種方法 1.使用建立表時預設的順序 這裡我們插入一行,需要嚴格按照建立表的順序來定義每個列的值。使用這種方式,對錶的每乙個列都必須給出值,對於auto increment的行,可以給出null值,該列將...

MySQL資料插入

truncate table t sdrs general user insert into 目標表 欄位1,欄位2,select 欄位1,欄位2,from 表 這裡的話字段必須保持一致 insert into t sdrs general user code,xm,mm select xh cod...

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

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