中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

mysql中insert如何使用

MySQL中insert如何使用,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、印江網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為印江等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

insert的語法

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

[INTO] tbl_name [(col_name,...)]

VALUES ({expr | DEFAULT},...),(...),...

[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

或:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

[INTO] tbl_name

SET col_name={expr | DEFAULT}, ...

[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

或:

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]

[INTO] tbl_name [(col_name,...)]

SELECT ...

[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

如果列清單和VALUES清單均為空清單,則INSERT會(huì)創(chuàng)建一個(gè)行,每個(gè)列都被設(shè)置為默認(rèn)值:

INSERT INTO tbl_name () VALUES();

假設(shè)worker表只有name和email,插入一條數(shù)據(jù):

insert into worker values(“tom”,”tom@yahoo.com”);

批量插入多條數(shù)據(jù):

insert into worker values(‘tom’,’tom@yahoo.com’),(‘paul’,’paul@yahoo.com’);

給出要賦值的那個(gè)列,然后再列出值的插入數(shù)據(jù):

insert into worker (name) values (‘tom’);

insert into worker (name) values (‘tom’), (‘paul’);

使用set插入數(shù)據(jù):

insert into worker set name=’tom’;

在 SET 子句中未命名的行都賦予一個(gè)缺省值,使用這種形式的 INSERT 語句不能插入多行。

一個(gè)expression可以引用在一個(gè)值表先前設(shè)置的任何列,例如

INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);

--但不能這樣:

INSERT INTO tbl_name (col1,col2) VALUES(col2*2,15);

使用INSERT…SELECT語句插入從其他表選擇的行。

insert into tbl_name1(col1,col2) select col3,col4 from tbl_name2;

--如果每一列都有數(shù)據(jù):

insert into tbl_name1 select col3,col4 from tbl_name2;

查詢不能包含一個(gè)ORDER BY子句,而且INSERT語句的目的表不能出現(xiàn)在SELECT查詢部分的FROM子句。

ON DUPLICATE KEY UPDATE

如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后會(huì)導(dǎo)致在一個(gè)UNIQUE索引或PRIMARY KEY中出現(xiàn)重復(fù)值,則執(zhí)行舊行UPDATE。

--假設(shè)a,b為唯一索引,表table沒有1,2這樣的行是正常插入數(shù)據(jù),沖突時(shí),更新c列的值。

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=3;

--或者是

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=values(c);

--引用其他列更新沖突的行

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

向一個(gè)已定義為NOT NULL的列中插入NULL。對(duì)于一個(gè)多行INSERT語句或INSERT INTO...SELECT語句,根據(jù)列數(shù)據(jù)的類型,列被設(shè)置為隱含的默認(rèn)值。對(duì)于數(shù)字類型,默認(rèn)值為0;對(duì)于字符串類型,默認(rèn)值為空字符串('');對(duì)于日期和時(shí)間類型,默認(rèn)值為“zero”值。

INSERT INTO...SELECT的ON DUPLICATE KEY UPDATE

insert into tbl_name1(a,b,c)

select col1,col2,col3 from tbl_name2

ON DUPLICATE KEY UPDATE c=values(c);

INSERT DELAYED

如果您的客戶端不能等待INSERT完成,則這個(gè)選項(xiàng)是非常有用的,當(dāng)一個(gè)客戶端使用INSERT DELAYED時(shí),會(huì)立刻從服務(wù)器處得到一個(gè)確定。并且行被排入隊(duì)列,當(dāng)表沒有被其它線程使用時(shí),此行被插入。

使用INSERT DELAYED的另一個(gè)重要的好處是,來自許多客戶端的插入被集中在一起,并被編寫入一個(gè)塊。這比執(zhí)行許多獨(dú)立的插入要快很多。

INSERT DELAYED INTO worker (name) values (‘tom’), (‘paul’);

使用DELAYED時(shí)有一些限制:

INSERT DELAYED僅適用于MyISAM, MEMORY和ARCHIVE表。對(duì)于MyISAM表,如果在數(shù)據(jù)文件的中間沒有空閑的塊,則支持同時(shí)采用SELECT和INSERT語句。在這些情況下,基本不需要對(duì)MyISAM使用INSERT DELAYED。

INSERT DELAYED應(yīng)該僅用于指定值清單的INSERT語句。服務(wù)器忽略用于INSERT DELAYED...SELECT語句的DELAYED和INSERT DELAYED...ON DUPLICATE UPDATE語句的DELAYED。

因?yàn)樵谛斜徊迦肭?,語句立刻返回,所以您不能使用LAST_INSERT_ID()來獲取AUTO_INCREMENT值。AUTO_INCREMENT值可能由語句生成。

對(duì)于SELECT語句,DELAYED行不可見,直到這些行確實(shí)被插入了為止。

DELAYED在從屬復(fù)制服務(wù)器中被忽略了,因?yàn)镈ELAYED不會(huì)在從屬服務(wù)器中產(chǎn)生與主服務(wù)器不一樣的數(shù)據(jù)。

看完上述內(nèi)容,你們掌握mysql中insert如何使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站標(biāo)題:mysql中insert如何使用
本文來源:http://www.rwnh.cn/article42/pgschc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站建設(shè)搜索引擎優(yōu)化、小程序開發(fā)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
常州市| 湾仔区| 襄垣县| 台东县| 株洲县| 金昌市| 承德县| 尼勒克县| 潮安县| 玉山县| 政和县| 五寨县| 星座| 冷水江市| 隆德县| 林西县| 三河市| 南宁市| 房产| 通榆县| 大田县| 盐山县| 西乌| 怀远县| 永兴县| 开封县| 临桂县| 南充市| 微山县| 黄骅市| 新余市| 霍林郭勒市| 衡水市| 紫云| 无为县| 军事| 衡山县| 杭锦旗| 凤城市| 方城县| 西藏|