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...