亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

行語句mysql insert操作詳解

系統(tǒng) 2900 0

本文純屬個人見解,是對前面學(xué)習(xí)的結(jié)總,如有描述不準確的地方還請高手指正~

????

mysql insert作操詳解

????

INSERT法語:

????

INSERT [LOW_PRIORITY |DELAYED| HIGH_PRIORITY] [IGNORE]

????

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

????

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

????

[ON DUPLICATE KEY UPDATEcol_name=expr, ... ]

????

或:

????

INSERT [LOW_PRIORITY |DELAYED| HIGH_PRIORITY] [IGNORE]

????

[INTO]tbl_name

????

SETcol_name={expr| DEFAULT}, ...

????

[ON DUPLICATE KEY UPDATEcol_name=expr, ... ]

????

或:

????

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]

????

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

????

SELECT ...

????

[ON DUPLICATE KEY UPDATEcol_name=expr, ... ]

????

一、DELAYED的應(yīng)用

????

應(yīng)用延遲插入作操

????

DELAYED調(diào)節(jié)符應(yīng)于用INSERT和REPLACE語句。當(dāng)DELAYED插入作操達到的時候,服務(wù)器把據(jù)數(shù)行放入一個隊列中,并當(dāng)即給客戶端返回一個態(tài)狀信息,這樣客戶端以可就在據(jù)數(shù)表被真正地插入錄記之前續(xù)繼停止作操了。如果讀取者從該據(jù)數(shù)表中讀取據(jù)數(shù),隊列中的據(jù)數(shù)就會被保持著,直到?jīng)]有讀取者為止。接著服務(wù)器開始插入延遲據(jù)數(shù)行(delayed-row)隊列中的據(jù)數(shù)行。在插入作操的同時,服務(wù)器還要檢查是不是有新的讀取請求達到和待等。如果有,延遲據(jù)數(shù)行隊列就被掛起,答應(yīng)讀取者續(xù)繼作操。當(dāng)沒有讀取者的時候,服務(wù)器再次開始插入延遲的據(jù)數(shù)行。這個程過直一停止,直到隊列空了為止。

????

幾點要注意事項:

????

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

????

· 服務(wù)器疏忽于用INSERT DELAYED...ON DUPLICATE UPDATE語句的DELAYED。

????

· 因為行在被插入前,語句立刻返回,所以您不能應(yīng)用LAST_INSERT_ID()來獲得AUTO_INCREMENT值。AUTO_INCREMENT值可能由語句生成。

????

· 對于SELECT語句,DELAYED行可不見,直到這些行確切被插入了為止。

????

· DELAYED在屬從制復(fù)服務(wù)器中被疏忽了,因為DELAYED不會在屬從服務(wù)器中發(fā)生與主服務(wù)器不一樣的據(jù)數(shù)。

????

注意,前目在隊列中的各行只保存在存儲器中,直到它們被插入到表中為止。這意味著,如果您強行止中了MySQLd(例如,應(yīng)用kill -9)或者如果mysqld不測停止,則全部沒有被寫入磁盤的行會都喪失。

????每日一道理
自己把自己說服了,是一種理智的勝利;自己被自己感動了,是一種心靈的升華;自己把自己征服了,是一種人生的成功。

????

二、IGNORE的應(yīng)用

????

IGNORE是MySQL于對相標準SQL的擴展。如果在新表中有復(fù)重關(guān)鍵字,或者當(dāng)STRICT式模啟動后涌現(xiàn)告警,則應(yīng)用IGNORE制控ALTER TABLE的行運。如果沒有指定IGNORE,當(dāng)復(fù)重關(guān)鍵字錯誤發(fā)生時,制復(fù)作操被棄放,返回前一驟步。如果指定了IGNORE,則對于有復(fù)重關(guān)鍵字的行,只應(yīng)用第一行,其它有沖突的行被除刪。并且,對錯誤值停止修正,使之盡量親近準確值。

????

?

????

insert ignore into tb(...) value(...)

????

這樣不必校驗是不是存在了,有則疏忽,無則添加。

????

三、 ON DUPLICATE KEY UPDATE的應(yīng)用

????

如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后會致導(dǎo)在一個UNIQUE索引或PRIMARY KEY中涌現(xiàn)復(fù)重值,則執(zhí)行舊行UPDATE。例如,如果列a被義定為UNIQUE,并且含包值1,則以下兩個語句擁有雷同的果效:mysql>INSERT INTO table (a,b,c) VALUES (1,2,3)

????

->ON DUPLICATE KEY UPDATE c=c+1;

????

mysql>UPDATE table SET c=c+1 WHERE a=1;

????

如果行作為新錄記被插入,則受影響行的值為1;如果原有的錄記被更新,則受影響行的值為2。

????

釋注:如果列b也是一唯列,則INSERT與此UPDATE語句當(dāng)相:

????

mysql>UPDATE table SET c=c+1 WHERE a=1 OR b=2 LIMIT 1;

????

如果a=1 OR b=2與多個行向匹配,則只有一個行被更新。平日,您該應(yīng)盡量免避對帶有多個一唯關(guān)鍵字的表應(yīng)用ON DUPLICATE KEY句子。

????

您可以在UPDATE句子中應(yīng)用VALUES(col_name)數(shù)函從INSERT...UPDATE語句的INSERT分部引用列值。換句話說,如果沒有發(fā)生復(fù)重關(guān)鍵字沖突,則UPDATE句子中的VALUES(col_name)可以引用被插入的col_name的值。本數(shù)函別特適于用多行插入。VALUES()數(shù)函只在INSERT...UPDATE語句中有意思,其它時候會返回NULL。

????

示例:

????

mysql>INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)

????

->ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

????

本語句與以下兩個語句作用雷同:

????

mysql>INSERT INTO table (a,b,c) VALUES (1,2,3)

????

->ON DUPLICATE KEY UPDATE c=3;

????

mysql>INSERT INTO table (a,b,c) VALUES (4,5,6)

????

->ON DUPLICATE KEY UPDATE c=9;

????

當(dāng)您應(yīng)用ON DUPLICATE KEY UPDATE時,DELAYED選項被疏忽。

????

結(jié)總:DELAYED 做為倏地插入,是不并很關(guān)懷失效性,進步插入性能。

????

ignore 只存眷主鍵對應(yīng)錄記是不存在,無則添加,有則疏忽。

????

ON DUPLICATE KEY UPDATE 在添加時作操,存眷非主鍵列,注意與ignore的區(qū)分。有則更新指定列,無則添加。

文章結(jié)束給大家分享下程序員的一些笑話語錄: 有一天,一個男人穿越森林的時候,聽到一個細微的聲音叫住他。他低頭一看,是一只青蛙。
“如果你親我一下,我會變成一個美麗的公主哦。”男人一言不發(fā),把青蛙撿起來,放入口袋。
“如果你親我一下,我會變成一個美麗的公主哦。而且,我會告訴我遇到的每一個人,你是多么聰明和勇敢,你是我的英雄?!蹦腥税亚嗤苣贸鰜?,對著它微微一笑,又把它放回口袋。
“如果你親我一下,我會變成一個美麗的公主,然后我愿意成為你的愛人一星期?!蹦腥擞职亚嗤苣贸鰜?,對著它微微一笑,把它放回口袋。
“如果你親我一下,我會變成一個美麗的公主,然后我愿意成為你的愛人一年,而且你可以對我做任何事?!痹僖淮危腥税亚嗤苣贸鰜?,對著它微微一笑,又把它放回口袋。
  最后,青蛙無力地問:“我開出了這么好的條件,為什么你還不肯吻我?”男人說:“我是一個程序員,我可沒時間和什么公主鬼混。不過,擁有一個會說話的青蛙,倒是蠻酷的。”

行語句mysql insert操作詳解


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九热精品视频在线播放 | 亚洲第一成人在线 | 亚洲欧美综合一区二区三区四区 | 久操热久操| 国产精品久久久久天天影视 | 免费视频不卡一区二区三区 | 欧美88| 一级毛片免费观看不收费 | 五月婷网| 国产精品乱码在线观看 | 四虎国产精品永免费 | 久久久久久久免费视频 | 国产成人亚洲精品大帝 | 日本99视频 | 91精品国产免费自在线观看 | 色婷婷亚洲十月十月色天 | 久久精品99 | 嘿咻嘿咻免费区在线观看吃奶 | 欧美成人观看视频在线 | 免费看真人a一级毛片 | 天天爱天天色天天干 | 欧美性网| 777奇米影视久久激情日韩欧美 | 色婷婷激婷婷深爱五月小蛇 | 亚洲精品在线免费 | 国产香蕉一区二区精品视频 | 欧美日本在线一区二区三区 | 国产香蕉在线 | xx色综合| 日日摸夜夜添夜夜添一区二区 | 性做久久久久久久久男女 | 久99久爱精品免费观看视频 | 俄罗斯一级成人毛片 | 亚洲综合春色另类久久 | 狠狠色噜噜| 私人影院免费观看 | 伊人久热这里只精品视频 | 91精品国产美女福到在线不卡 | 在线免费观看中文字幕 | 久热只有精品 | 日日操日日碰 |