MySQL-5.插入更新刪除語(yǔ)句

本文地址:http://www.reibang.com/p/96dd3b2560a8

一落塑、插入(INSERT)

使用INSERT語(yǔ)句可以快速便利的插入一條或多條數(shù)據(jù)到表中参歹。

語(yǔ)法

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tb_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    {VALUES | VALUE} (value_list) [, (value_list)] ...
    [ON DUPLICATE KEY UPDATE assignment_list]

關(guān)鍵字

  • tb_name - 插入的表名扩借。

  • [(col_name [, col_name] ...)]

    要插入數(shù)據(jù)的字段名列表哆窿,如果你需要指定插入某幾個(gè)字段的數(shù)據(jù)拴还,那么你需要將你插入的字段名列出贺拣。并且在插入指的時(shí)候需要順序一一對(duì)應(yīng)。

    INSERT INTO tb_name (column1,column2...) VALUES (value1,value2,...);
    

    沒(méi)有插入值的字段將自動(dòng)填充N(xiāo)ULL或默認(rèn)值标锄。

  • {VALUES | VALUE} (value_list) [, (value_list)] ...

    插入數(shù)據(jù)的值顽铸。在col_name沒(méi)有指定插入的字段名時(shí),需要將所有字段的值按照表中字段的順序一一插入料皇。AUTO_INCREMENT字段可以忽略跋破,不用插入簸淀。

    INSERT INTO tb_name VALUES (value1,value2,value3,...);
    

    如果不希望寫(xiě)定字段名瓶蝴,又希望某些字段插入的數(shù)據(jù)為默認(rèn)值的話毒返,那么可以使用DEFAULT(col_name)來(lái)生成默認(rèn)值。

    如果需要一次性插入多行數(shù)據(jù)舷手,那么需要用逗號(hào)分割拧簸。

    INSERT INTO tb_name (column1,column2...)
    VALUES (value1,value2,...),
           (value1,value2,...);
    
  • [ON DUPLICATE KEY UPDATE assignment_list]

    在插入數(shù)據(jù)時(shí)使用這個(gè)選項(xiàng),那么意味著男窟,如果插入的數(shù)據(jù)與現(xiàn)有的UNIQUE或者PRIMARY KEY字段重復(fù)時(shí)盆赤,將會(huì)更新舊的數(shù)據(jù),而不是拋出重復(fù)的異常歉眷。

  • [PARTITION (partition_name [, partition_name] ...)] - 控制插入分區(qū)表牺六。

  • [IGNORE] - 忽略掉插入語(yǔ)句引發(fā)的異常,只記錄警告汗捡。

  • [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] - 插入語(yǔ)句的優(yōu)先級(jí)淑际。

INSERT ... SELECT語(yǔ)句

INSERT ... SELECT是帶有SELECT字句的INSERT語(yǔ)句,可以將SELECT查詢到的多行結(jié)果插入到表中扇住。

語(yǔ)法

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    SELECT ...
    [ON DUPLICATE KEY UPDATE assignment_list]

例子

INSERT INTO tb_name2 (fld_id)
  SELECT tb_name1.fld_order_id
  FROM tb_name1 WHERE tb_name1.fld_order_id > 100;

二春缕、更新(UPDATE)

語(yǔ)法

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET assignment_list
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

關(guān)鍵詞

  • table_reference - 要更新的表名

  • SET

    必備參數(shù),SET決定了更新哪些字段艘蹋,更新成什么值锄贼。如下所示:

    col_name1 = value1,
    col_name2 = value2,
    
  • [WHERE where_condition]

    如果沒(méi)有WHERE子句的話,那么UPDATE將會(huì)更新表中所有行的數(shù)據(jù)女阀。

    如果給定了WHERE子句宅荤,那么UPDATE將會(huì)根據(jù)WHERE子句后面的表達(dá)式來(lái)決定更新哪些行的數(shù)據(jù)。

    例子:

    UPDATE tb_name
    SET col_name1 = value1,col_name2 = value2
    WHERE id=3;
    
  • [ORDER BY ...]

    在沒(méi)有指定WHERE子句時(shí)浸策,UPDATE將更新所有行冯键。如果此時(shí)指定了ORDER BY ...子句,那么UPDATE將按照ORDER BY ...指定的順序進(jìn)行更新的榛。

  • [LIMIT row_count]

    一般與ORDER BY ...子句配合使用琼了,[LIMIT row_count]將會(huì)限制更新的條數(shù)。

  • [IGNORE] - 忽略掉更新語(yǔ)句引發(fā)的異常夫晌,只記錄警告雕薪。

  • [LOW_PRIORITY] - 降低更新語(yǔ)句的優(yōu)先級(jí)。


三晓淀、刪除(DELETE)

語(yǔ)法

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tb_name
    [PARTITION (partition_name [, partition_name] ...)]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

關(guān)鍵詞

  • [WHERE where_condition]

    如果沒(méi)有WHERE子句的話所袁,那么DELETE將會(huì)刪除表中所有數(shù)據(jù)。

    如果給定了WHERE子句凶掰,那么DELETE將會(huì)根據(jù)WHERE子句后面的表達(dá)式來(lái)決定刪除哪些行的數(shù)據(jù)燥爷。

  • [ORDER BY ...]

    在沒(méi)有指定WHERE子句時(shí)蜈亩,DELETE將刪除所有行。如果此時(shí)指定了ORDER BY ...子句前翎,那么DELETE將按照ORDER BY ...指定的順序進(jìn)行刪除稚配。

  • [LIMIT row_count]

    一般與ORDER BY ...子句配合使用,[LIMIT row_count]將會(huì)限制刪除的條數(shù)港华。

    [PARTITION (partition_name [, partition_name] ...)] - 控制刪除分區(qū)表道川。

  • [IGNORE] - 忽略掉刪除語(yǔ)句引發(fā)的異常,只記錄警告立宜。

  • [LOW_PRIORITY] - 降低刪除語(yǔ)句的優(yōu)先級(jí)冒萄。

例子

DELETE FROM tb_name WHERE col_name=3;

四、清空(TRUNCATE)

TRUNCATE語(yǔ)句主要用于清空一張表的內(nèi)容橙数。當(dāng)我們需要?jiǎng)h除一張表時(shí)尊流,應(yīng)該使用DROP,當(dāng)我們想要?jiǎng)h除表中一部分?jǐn)?shù)據(jù)的時(shí)候灯帮,我們應(yīng)該使用DELETE崖技。

而當(dāng)我們希望保存這張表但是刪除里面所有數(shù)據(jù)的時(shí)候,我們就可以使用TRUNCATE施流。

語(yǔ)法

TRUNCATE [TABLE] tbl_name;

TRUNCATE語(yǔ)句的語(yǔ)法非常簡(jiǎn)單响疚,也與DELETE刪除所有行非常類(lèi)似,但它們主要有以下區(qū)別:

  • TRUNCATE實(shí)際上時(shí)刪除并重新創(chuàng)建表瞪醋,所以一般來(lái)說(shuō)會(huì)比DELETE刪除所有行快很多忿晕,特別是在面對(duì)一張非常大的表的時(shí)候。
  • TRUNCATE無(wú)法回滾银受。
  • 對(duì)于InnoDB表践盼,如果表中有FOREIGN KEY約束,那么TRUNCATE語(yǔ)句將會(huì)失敗宾巍。
  • 對(duì)于AUTO_INCREMENT的值將會(huì)重新刷新為初始值咕幻。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市顶霞,隨后出現(xiàn)的幾起案子肄程,更是在濱河造成了極大的恐慌,老刑警劉巖选浑,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓝厌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡古徒,警方通過(guò)查閱死者的電腦和手機(jī)拓提,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)隧膘,“玉大人代态,你說(shuō)我怎么就攤上這事寺惫。” “怎么了蹦疑?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵西雀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我必尼,道長(zhǎng)蒋搜,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任判莉,我火速辦了婚禮,結(jié)果婚禮上育谬,老公的妹妹穿的比我還像新娘券盅。我一直安慰自己,他們只是感情好膛檀,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布锰镀。 她就那樣靜靜地躺著,像睡著了一般咖刃。 火紅的嫁衣襯著肌膚如雪泳炉。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天嚎杨,我揣著相機(jī)與錄音花鹅,去河邊找鬼。 笑死枫浙,一個(gè)胖子當(dāng)著我的面吹牛刨肃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播箩帚,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼真友,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了紧帕?” 一聲冷哼從身側(cè)響起盔然,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎是嗜,沒(méi)想到半個(gè)月后愈案,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叠纷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年刻帚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涩嚣。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡崇众,死狀恐怖掂僵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情顷歌,我是刑警寧澤锰蓬,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站眯漩,受9級(jí)特大地震影響芹扭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赦抖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一舱卡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧队萤,春花似錦轮锥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至赵辕,卻和暖如春既绩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背还惠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工饲握, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吸重。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓互拾,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嚎幸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子颜矿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容