日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql特有语法_mysql 有用的特殊语法

發布時間:2025/3/21 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql特有语法_mysql 有用的特殊语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

一、DELAYED 使用延遲插入操作 DELAYED調節符應用于INSERT和REPLACE語句。當DELAYED插入操作到達的時候,服務器把數據行放入一個隊列中, 并立即給客戶端返回一個狀態信息,這樣客戶端就可以在數據表被真正地插入記錄之前繼續進行操作了。 如果讀取者從該數據表中讀取數據,隊列中的數據就會被保持著,直到沒有讀取者為止。接著服務器開始插入延遲 數據行(delayed-row)隊列中的數據行。在插入操作的同時,服務器還要檢查是否有新的讀取請求到達和等待。 如果有,延遲數據行隊列就被掛起,允許讀取者繼續操作。當沒有讀取者的時候,服務器再次開始插入延遲的數據行。這個過程一直進行,直到隊列空了為止。 注意事項:· INSERT DELAYED應該僅用于指定值清單的INSERT語句。服務器忽略用于INSERT DELAYED...SELECT語句的DELAYED。·服務器忽略用于INSERT DELAYED...ON DUPLICATE UPDATE語句的DELAYED。·因為在行被插入前,語句立刻返回,所以您不能使用LAST_INSERT_ID()來獲取AUTO_INCREMENT值。AUTO_INCREMENT值可能由語句生成。·對于SELECT語句,DELAYED行不可見,直到這些行確實被插入了為止。· DELAYED在從屬復制服務器中被忽略了,因為DELAYED不會在從屬服務器中產生與主服務器不一樣的數據。 注意,目前在隊列中的各行只保存在存儲器中,直到它們被插入到表中為止。這意味著,如果您強行中止了mysqld(例如,使用kill -9)或者如果mysqld意外停止,則所有沒有被寫入磁盤的行都會丟失。 二、IGNORE IGNORE是SQL的擴展。如果在新表中有重復關鍵字,或者當STRICT模式啟動后出現警告,則使用IGNORE控制ALTER TABLE的運行。如果沒有指定IGNORE,當重復關鍵字錯誤發生時,復制操作被放棄,返回前一步驟。如果指定了IGNORE,則對于有重復關鍵字的行,只使用第一行,其它有沖突的行被刪除。并且,對錯誤值進行修正,使之盡量接近正確值。 insert ignore into tb(...) value(...) 這樣不用校驗是否存在了,有則忽略,無則添加三、ON DUPLICATE KEY UPDATE

如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后會導致在一個UNIQUE索引或PRIMARY KEY中出現重復值,則執行舊行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語句相當:

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

如果a=1 OR b=2與多個行向匹配,則只有一個行被更新。通常,您應該盡量避免對帶有多個唯一關鍵字的表使用ON DUPLICATE KEY子句。

您可以在UPDATE子句中使用VALUES(col_name)函數從INSERT...UPDATE語句的INSERT部分引用列值。換句話說,如果沒有發生重復關鍵字沖突,則UPDATE子句中的VALUES(col_name)可以引用被插入的col_name的值。本函數特別適用于多行插入。VALUES()函數只在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 (4,5,6) ON DUPLICATE KEY UPDATE c=9;

當您使用ON DUPLICATE KEY UPDATE時,DELAYED選項被忽略。

:1. DELAYED做為快速插入,并不是很關心失效性,提高插入性能。

2. Ignore??只關注主鍵對應記錄是不存在,無則添加,有則忽略。

3. ON DUPLICATE KEY UPDATE 在添加時操作,關注非主鍵列,注意與ignore的區別,有則更新指定列,無則添加。

總結

以上是生活随笔為你收集整理的mysql特有语法_mysql 有用的特殊语法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美图片自拍偷拍 | 性色av浪潮av | 欧美在线视频你懂的 | 午夜影院久久久 | av在线播放国产 | 五月婷婷六月色 | 日批黄色片 | 毛片一卡二卡 | 国产又色又爽又黄又免费 | 白白色在线播放 | 欧美中文字幕在线视频 | 欧美日韩一区在线 | 美腿丝袜一区二区三区 | 在线超碰 | 老鸭窝成人 | 国产一区二区网 | 日本bbwbbw| 五月婷婷婷婷 | 久久精品店 | 色爱av综合 | 欧洲成人在线 | 麻豆网站在线免费观看 | 国产高清免费在线观看 | 国产成人激情视频 | 国产在线观看免费网站 | wwwxxx黄色片| 亚洲国产午夜 | 九九热超碰| 啪啪av | 欧美黄色一级大片 | 国产精品羞羞答答在线 | 神马久久影院 | 国产伦一区二区 | 日本不卡一区二区 | 国产国产国产 | 日本理论片在线 | 伦伦影院午夜理论片 | 亚洲综合色一区二区 | 真人毛片97级无遮挡精品 | 日本亚洲一区二区 | 偷拍欧美亚洲 | 色播基地| 日本少妇中文字幕 | 亚洲精品成人a | 国产精品视频在 | 久精品在线观看 | www国产www| 风间ゆみ大战黑人 | 极品少妇xxxx精品少妇偷拍 | 久久久久国产精品 | 日韩乱码视频 | 国产乱论 | 91在线免费看 | 天天拍夜夜爽 | 卡一卡二卡三 | 91丝袜呻吟高潮美腿白嫩 | 99热国产 | a级片视频网站 | 黄色羞羞网站 | 国产伦理吴梦梦伦理 | 亚洲精品粉嫩小泬20p | 亚洲69| 日韩精品一区二区三区不卡在线 | 日韩精品无码一区二区三区久久久 | 人人干av | 国产三级影院 | 亚洲精品aⅴ中文字幕乱码 国产精品调教视频 | 91视频你懂的 | 久久久久久久久黄色 | 尤物精品 | 日韩一级片免费在线观看 | 黄网站免费入口 | 国产一区二区影院 | 99久| 男女啪啪无遮挡 | 内射后入在线观看一区 | 激情视频在线播放 | 国产精品成人无码免费 | www.日日日| 激情aaa | 在线天堂在线 | 极品人妻一区二区三区 | 成年人免费视频观看 | 亚洲无码乱码精品国产 | 中文字幕 欧美激情 | av2018| 成人免费看片' | 亚洲色图综合 | 无码熟妇αⅴ人妻又粗又大 | 少妇性l交大片7724com | 日韩精品xxx| 国产成人精品999在线观看 | 女人18毛片毛片毛片毛片区二 | 3p在线播放 | 97久久综合 | 亚洲视频一二三 | 久久这里只有精品99 | 四虎在线免费视频 | 国产综合在线视频 |