日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

INSERT語(yǔ)句是最常見的SQL語(yǔ)句之一,MySQL中INSERT有其他形態(tài)的插入數(shù)據(jù)方式。下面了解一下mysql中常用的四種插入數(shù)據(jù)的語(yǔ)句:

INSERT INTO

1.insert into表示插入數(shù)據(jù),數(shù)據(jù)庫(kù)會(huì)檢查主鍵(PrimaryKey),如果出現(xiàn)重復(fù)會(huì)報(bào)錯(cuò);除了這個(gè)之外還有一些配合的參數(shù).

語(yǔ)法如下:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    {VALUES | VALUE} (value_list) [, (value_list)] ...
    [ON DUPLICATE KEY UPDATE assignment_list]
  • DELAYED:是立刻返回一個(gè)標(biāo)識(shí),告訴上層程序,數(shù)據(jù)已經(jīng)插入了,當(dāng)表沒(méi)有被其它線程使用時(shí),此行被插入,真實(shí)插入時(shí)間就不可控了。所以這樣的寫法對(duì)數(shù)據(jù)的安全性是沒(méi)有保障的。 延遲插入和替換在MySQL 5.6中是不推薦的。在MySQL 5.7,MySQL 8.0中,不支持延遲。服務(wù)器識(shí)別但忽略DELAYED關(guān)鍵字,將插入處理為非延遲插入,并生成erwarnlegacysyntaxconvert警告(“不再支持延遲插入”)。語(yǔ)句被轉(zhuǎn)換為INSERT”)。DELAYED關(guān)鍵字計(jì)劃在未來(lái)的版本中刪除。
  • LOW_PRIORITY:插入的執(zhí)行將被延遲,直到?jīng)]有其他客戶端從表中讀取數(shù)據(jù)。這包括在現(xiàn)有客戶端正在讀取時(shí)以及INSERT LOWPRIORITY語(yǔ)句正在等待時(shí)開始讀取的其他客戶端。因此,對(duì)于發(fā)出INSERT LOWPRIORITY語(yǔ)句的客戶機(jī),可能要等待很長(zhǎng)時(shí)間。 LOWPRIORITY只影響只使用表級(jí)鎖的存儲(chǔ)引擎(如MyISAM、內(nèi)存和合并)。 LOWPRIORITY通常不應(yīng)該用于MyISAM表,因?yàn)檫@樣做會(huì)禁用并發(fā)插入
  • HIGH_PRIORITY:如果指定了HIGHPRIORITY,同時(shí)服務(wù)器采用–low-priority-updates選項(xiàng)啟動(dòng),則HIGHPRIORITY將覆蓋–low-priority-updates選項(xiàng)。這么做還會(huì)導(dǎo) 致同時(shí)進(jìn)行的插入被取消。 【 lowpriorityupdates:如果設(shè)置為1,所有插入、更新、刪除和鎖表寫語(yǔ)句都將等待,直到受影響的表上沒(méi)有未決的選擇或鎖表讀取。使用{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY…僅降低一個(gè)查詢的優(yōu)先級(jí)。這個(gè)變量只影響只使用表級(jí)鎖的存儲(chǔ)引擎(如MyISAM、MEMORY和MERGE)mysql的merge引擎類型允許把許多結(jié)構(gòu)相同的表合并為一個(gè)表,Merge表有點(diǎn)類似于視圖。】
  • IGNORE:insert ignore表示,如果中已經(jīng)存在相同的記錄,則忽略當(dāng)前新數(shù)據(jù),主鍵和唯一鍵為基準(zhǔn);
mysql> insert ignore  tinsert(id,name) values(3,'D');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> show warnings;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1062 | Duplicate entry '3' for key 'PRIMARY' |
+---------+------+---------------------------------------+

INSERT INTO SELECT

把一張表的字段數(shù)據(jù)導(dǎo)入到另一張表中,執(zhí)行語(yǔ)句會(huì)把整個(gè)數(shù)據(jù)會(huì)打包成一個(gè)事務(wù)執(zhí)行。

MySQL INSERT 有哪4種形態(tài)?

 

注意:當(dāng)從同一個(gè)表中選擇和插入時(shí),MySQL創(chuàng)建一個(gè)內(nèi)部臨時(shí)表來(lái)保存SELECT中的行,然后將這些行插入到目標(biāo)表中。但是,不能使用INSERT INTO t…選擇……當(dāng)t是臨時(shí)表時(shí),從t開始,因?yàn)榕R時(shí)表不能在同一語(yǔ)句中被引用兩次

REPLACE INTO

replace into 跟 insert 功能類似,不同點(diǎn)在于:replace into 首先嘗試插入數(shù)據(jù)到表中,

  1. 如果發(fā)現(xiàn)表中已經(jīng)有此行數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)則先刪除此行數(shù)據(jù),然后插入新的數(shù)據(jù);
  2. 否則,直接插入新數(shù)據(jù);
  3. REPLACE,您必須同時(shí)擁有表的INSERT,UPDATE,DELETE權(quán)限。

語(yǔ)法:

REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    {VALUES | VALUE} (value_list) [, (value_list)] ...

注意:插入數(shù)據(jù)的表必須有主鍵或者是唯一索引!否則的話,replace into 會(huì)直接插入數(shù)據(jù),這將導(dǎo)致表中出現(xiàn)重復(fù)的數(shù)據(jù)。

1.下面看看binlog 解析:主鍵和唯一鍵同事存在的時(shí)候語(yǔ)句不一樣。

主鍵:是進(jìn)行update操作。

主鍵+唯一鍵:delete+insert操作

MySQL INSERT 有哪4種形態(tài)?

 

2.但對(duì)于同一個(gè)數(shù)據(jù)所有行都一樣的時(shí)候replace into就不會(huì)進(jìn)行更新操作。

INSERT INTO ON DUMPLICATE KEY UPDATE

...

? 接下來(lái)內(nèi)容請(qǐng)?jiān)L問(wèn)原文(https://www.modb.pro/db/28662?YYF)進(jìn)行查看~

更多數(shù)據(jù)庫(kù)相關(guān)內(nèi)容,可訪問(wèn)墨天輪(https://www.modb.pro/?YYF)進(jìn)行瀏覽。

MySQL INSERT 有哪4種形態(tài)?

 

分享到:
標(biāo)簽:MySQL
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定