最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

正確使用MySQL INSERT INTO語句

 更新時(shí)間:2015年08月25日 17:20:07   投稿:lijiao  
MySQL數(shù)據(jù)庫是一種小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),MySQL數(shù)據(jù)庫的優(yōu)化是MySQL數(shù)據(jù)庫操作過程中非常重要的工作,MySQL數(shù)據(jù)庫的優(yōu)化能夠?qū)崿F(xiàn)MySQL數(shù)據(jù)庫操作的簡(jiǎn)便。

以下的文章主要介紹的是MySQL INSERT INTO語句的實(shí)際用法以及MySQL INSERT INTO語句中的相關(guān)語句的介紹,MySQL INSERT INTO語句在實(shí)際應(yīng)用中是經(jīng)常使用到的語句,所以對(duì)其相關(guān)的內(nèi)容還是多多掌握為好。

INSERT [LOW_PRIORITY | DELAYED] [IGNORE] 
[INTO] tbl_name [(col_name,...)] 
VALUES (expression,...),(...),... 


MySQLINSERT INTO SELECT語句:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE] 
[INTO] tbl_name [(col_name,...)] 
SELECT ... 


INSERT INTO語句:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE] 
[INTO] tbl_name 
SET col_name=expression, col_name=expression, ... 

INSERT把新行插入到一個(gè)存在的表中,INSERTINTO... VALUES形式的語句基于明確指定的值插入行,MySQLINSERT INTO SELECT形式插入從其他表選擇的行,有多個(gè)值表的INSERT INTO... VALUES的形式在MySQL 3.22.5或以后版本中支持,col_name=expression語法在MySQL 3.22.10或以后版本中支持。

tbl_name是行應(yīng)該被插入其中的表。列名表或SET子句指出語句為那一列指定值。

如果你為INSERT ... VALUES或INSERT ... SELECT不指定列表,所有列的值必須在VALUES()表或由SELECT提供。如果你不知道表中列的順序,使用DESCRIBE tbl_name來找出。

任何沒有明確地給出值的列被設(shè)置為它的缺省值。例如,如果你指定一個(gè)列表并沒命名表中所有列,未命名的列被設(shè)置為它們的缺省值。缺省值賦值在7.7 CREATE TABLE句法中描述。

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

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

但不能這樣:

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

如果你指定關(guān)鍵詞LOW_PRIORITY,INSERT的執(zhí)行被推遲到?jīng)]有其他客戶正在讀取表。在這種情況下,客戶必須等到插入語句完成后,如果表頻繁使用,它可能花很長(zhǎng)時(shí)間。這與INSERT DELAYED讓客馬上繼續(xù)正好相反。

如果你在一個(gè)有許多值行的INSERT中指定關(guān)鍵詞IGNORE,表中任何復(fù)制一個(gè)現(xiàn)有PRIMARY或UNIQUE鍵的行被忽略并且不被插入。如果你不指定IGNORE,插入如果有任何復(fù)制現(xiàn)有關(guān)鍵值的行被放棄。你可用C API函數(shù)MySQL_info()檢查多少行被插入到表中。

如果MySQL用DONT_USE_DEFAULT_FIELDS選項(xiàng)配置,INSERT語句產(chǎn)生一個(gè)錯(cuò)誤,除非你明確對(duì)需要一個(gè)非NULL值的所有列指定值。見4.7.3 典型configure選項(xiàng)。

MySQLINSERT INTO ... SELECT語句滿足下列條件:

查詢不能包含一個(gè)ORDER BY子句。

INSERT語句的目的表不能出現(xiàn)在SELECT查詢部分的FROM子句,因?yàn)檫@在ANSI SQL中被禁止讓從你正在插入的表中SELECT。(問題是SELECT將可能發(fā)現(xiàn)在同一個(gè)運(yùn)行期間內(nèi)先前被插入的記錄。當(dāng)使用子選擇子句時(shí),情況能很容易混淆)

AUTO_INCREMENT列象往常一樣工作。

如果你使用INSERT ... SELECT或INSERT ... VALUES語句有多個(gè)值列表,你可以使用C API函數(shù)MySQL_info()得到查詢的信息。信息字符串的格式如下:

Records: 100 Duplicates: 0 Warnings: 0

Duplicates指出不能被插入的行的數(shù)量,因?yàn)樗麄兣c現(xiàn)有的唯一的索引值重復(fù)。Warnings指出在出現(xiàn)某些問題時(shí)嘗試插入列值的次數(shù)。在下列任何條件下都可能發(fā)生錯(cuò)誤:

插入NULL到被聲明了NOT NULL的列,列被設(shè)置為它的缺省值。

將超出列范圍的值設(shè)置給一個(gè)數(shù)字列,值被剪切為范圍內(nèi)適當(dāng)?shù)亩它c(diǎn)值。

將數(shù)字列設(shè)成例如'10.34 a'的值,拖尾的垃圾被剝?nèi)ゲ⑷匀皇菙?shù)字部分被插入。如果值根本不是一個(gè)數(shù)字,列被設(shè)置到0。

把一個(gè)字符串插入到超過列的最大長(zhǎng)度的一個(gè)CHAR、VARCHAR、TEXT或BLOB列中。值被截?cái)酁榱械淖畲箝L(zhǎng)度。

把一個(gè)對(duì)列類型不合法的值插入到一個(gè)日期或時(shí)間列。列被設(shè)置為該列類型適當(dāng)?shù)摹傲恪敝怠?/p>

對(duì)于INSERT語句的DELAYED選項(xiàng)是MySQL專屬的選項(xiàng)-如果你客戶有不能等到INSERT完成,它是很有用的。當(dāng)你為日記登錄使用MySQL時(shí),而且你也周期性地運(yùn)行花很長(zhǎng)時(shí)間完成的SELECT語句,這是一個(gè)常見的問題。DELAYED在面MySQL 3.22.15中被引入,它是MySQL對(duì) ANSI SQL92 的一個(gè)擴(kuò)展。

當(dāng)你使用INSERT DELAYED時(shí),客戶將馬上準(zhǔn)備好,并且當(dāng)表不被任何其他的線程使用時(shí),行將被插入。

另一個(gè)使用INSERT DELAYED的主要好處是從很多客戶插入被捆綁在一起并且寫進(jìn)一個(gè)塊。這比做很多單獨(dú)的插入要來的快。

以上的相關(guān)內(nèi)容就是對(duì)MySQL INSERT INTO語句的介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • MySQL 生成隨機(jī)數(shù)字、字符串、日期、驗(yàn)證碼及 UUID的方法

    MySQL 生成隨機(jī)數(shù)字、字符串、日期、驗(yàn)證碼及 UUID的方法

    這篇文章主要介紹了MySQL 生成隨機(jī)數(shù)字、字符串、日期、驗(yàn)證碼及 UUID的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Mac下安裝mysql5.7 完整步驟(圖文詳解)

    Mac下安裝mysql5.7 完整步驟(圖文詳解)

    本篇文章主要介紹了Mac下安裝mysql5.7 完整步驟,具有一定的參考價(jià)值,有興趣的可以了解一下,
    2017-01-01
  • MySQL數(shù)據(jù)庫用戶權(quán)限管理

    MySQL數(shù)據(jù)庫用戶權(quán)限管理

    這篇文章主要介紹了MySQL數(shù)據(jù)庫用戶權(quán)限管理,文章主要內(nèi)容就是在不同的項(xiàng)目中,給不同的角色(開發(fā)者)不同的操作權(quán)限,保證數(shù)據(jù)庫數(shù)據(jù)的安全,需要的朋友可以參考一下
    2022-06-06
  • mysql中鎖機(jī)制的最全面講解

    mysql中鎖機(jī)制的最全面講解

    大概幾個(gè)月之前項(xiàng)目中用到事務(wù),需要保證數(shù)據(jù)的強(qiáng)一致性,期間也用到了mysql的鎖,所以本文打算總結(jié)一下mysql的鎖機(jī)制,這篇文章主要給大家介紹了關(guān)于mysql中鎖機(jī)制的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • MySQL驗(yàn)證用戶權(quán)限的方法

    MySQL驗(yàn)證用戶權(quán)限的方法

    這篇文章主要介紹了MySQL驗(yàn)證用戶權(quán)限的方法,需要的朋友可以參考下
    2015-11-11
  • Mysql索引結(jié)合explain分析示例

    Mysql索引結(jié)合explain分析示例

    本文主要介紹了Mysql索引結(jié)合explain分析示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Mysql?InnoDB?B+樹索引目錄項(xiàng)記錄頁管理

    Mysql?InnoDB?B+樹索引目錄項(xiàng)記錄頁管理

    這篇文章主要為大家介紹了Mysql?InnoDB?B+樹索引目錄項(xiàng)記錄頁管理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • MySQL表的基本查詢操作大全(這一篇夠了)

    MySQL表的基本查詢操作大全(這一篇夠了)

    表的增刪查改,簡(jiǎn)稱表的?CURD?操作?:?Create(創(chuàng)建),Update(更新),Retrieve(讀取),Delete(刪除),這篇文章主要介紹了MySQL表的基本查詢操作,感興趣的朋友一起看看吧
    2024-02-02
  • MySQL使用innobackupex備份連接服務(wù)器失敗的解決方法

    MySQL使用innobackupex備份連接服務(wù)器失敗的解決方法

    這篇文章主要為大家詳細(xì)介紹了MySQL使用innobackupex備份連接服務(wù)器失敗的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 一臺(tái)linux主機(jī)啟動(dòng)多個(gè)MySQL數(shù)據(jù)庫的方法

    一臺(tái)linux主機(jī)啟動(dòng)多個(gè)MySQL數(shù)據(jù)庫的方法

    這篇文章主要介紹了一臺(tái)linux主機(jī)啟動(dòng)多個(gè)MySQL數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

锡林浩特市| 五台县| 兴宁市| 工布江达县| 阿瓦提县| 英超| 鲜城| 抚州市| 武平县| 岑巩县| 宜兴市| 麻栗坡县| 大同市| 遵义县| 教育| 镇沅| 安达市| 隆尧县| 彩票| 女性| 基隆市| 吉木乃县| 孝义市| 石河子市| 岳普湖县| 泸定县| 吉安市| 浙江省| 长兴县| 宁河县| 双牌县| 建阳市| 施甸县| 武冈市| 甘肃省| 日照市| 和田县| 鄂尔多斯市| 顺义区| 南溪县| 惠水县|