《MYSQL數據庫mysql insert語句操作實例講解》要點:
本文介紹了MYSQL數據庫mysql insert語句操作實例講解,希望對您有用。如果有疑問,可以聯系我們。
insert的語法MYSQL應用
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
??? [INTO] tbl_name
??? SET col_name={expr | DEFAULT}, ...
??? [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
或:MYSQL應用
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
??? [INTO] tbl_name [(col_name,...)]
??? SELECT ...
??? [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
MYSQL應用
如果列清單和VALUES清單均為空清單,則INSERT會創建一個行,每個列都被設置為默認值:MYSQL應用
假設worker表只有name和email,插入一條數據MYSQL應用
批量插入多條數據MYSQL應用
給出要賦值的那個列,然后再列出值的插入數據MYSQL應用
使用set插入數據MYSQL應用
在 SET 子句中未命名的行都賦予一個缺省值,使用這種形式的 INSERT 語句不克不及插入多行.MYSQL應用
一個expression可以引用在一個值表先前設置的任何列,例如:MYSQL應用
使用INSERT…SELECT語句插入從其他表選擇的行MYSQL應用
查詢不能包括一個ORDER BY子句,而且INSERT語句的目的表不能出現在SELECT查詢部分的FROM子句.MYSQL應用
?ON DUPLICATE KEY UPDATEMYSQL應用
如果您指定了ON DUPLICATE KEY UPDATE,而且插入行后會導致在一個UNIQUE索引或PRIMARY KEY中出現重復值,則執行舊行UPDATE.MYSQL應用
INSERT INTO...SELECT的ON DUPLICATE KEY UPDATEMYSQL應用
INSERT DELAYEDMYSQL應用
如果您的客戶端不能等待INSERT完成,則這個選項是非常有用的,當一個客戶端使用INSERT DELAYED時,會立刻從服務器處得到一個確定.而且行被排入隊列,當表沒有被其它線程使用時,此行被插入.MYSQL應用
使用INSERT DELAYED的另一個重要的好處是,來自許多客戶端的插入被集中在一起,并被編寫入一個塊.這比執行許多獨立的插入要快很多.MYSQL應用
使用DELAYED時有一些限制:MYSQL應用
1.INSERT DELAYED僅適用于MyISAM, MEMORY和ARCHIVE表.對于MyISAM表,如果在數據文件的中間沒有空閑的塊,則支持同時采用SELECT和INSERT語句.在這些情況下,基本不必要對MyISAM使用INSERT DELAYED.MYSQL應用
2.INSERT DELAYED應該僅用于指定值清單的INSERT語句.服務器忽略用于INSERT DELAYED...SELECT語句的DELAYED和INSERT DELAYED...ON DUPLICATE UPDATE語句的DELAYED.MYSQL應用
3.因為在行被插入前,語句立刻返回,所以您不克不及使用LAST_INSERT_ID()來獲取AUTO_INCREMENT值.AUTO_INCREMENT值可能由語句生成.MYSQL應用
4.對于SELECT語句,DELAYED行弗成見,直到這些行確實被插入了為止.MYSQL應用
5.DELAYED在從屬復制服務器中被忽略了,因為DELAYED不會在從屬服務器中產生與主服務器紛歧樣的數據.MYSQL應用
《MYSQL數據庫mysql insert語句操作實例講解》是否對您有啟發,歡迎查看更多與《MYSQL數據庫mysql insert語句操作實例講解》相關教程,學精學透。維易PHP學院為您提供精彩教程。