欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析MySQL replace into 的用法

 更新時間:2014年06月04日 10:51:55   作者:  
在向表中插入數(shù)據(jù)的時候,經(jīng)常遇到這樣的情況:1. 首先判斷數(shù)據(jù)是否存在; 2. 如果不存在,則插入;3.如果存在,則更新。

在 SQL Server 中可以這樣處理:

復(fù)制代碼 代碼如下:
 
if not exists (select 1 from t where id = 1)
   insert into t(id, update_time) values(1, getdate())
else
   update t set update_time = getdate() where id = 1

那么 MySQL 中如何實現(xiàn)這樣的邏輯呢?別著急!MySQL 中有更簡單的方法: replace into

復(fù)制代碼 代碼如下:
 
replace into t(id, update_time) values(1, now());
或 
replace into t(id, update_time) select 1, now();

replace into 跟 insert 功能類似,不同點在于:replace into 首先嘗試插入數(shù)據(jù)到表中, 1. 如果發(fā)現(xiàn)表中已經(jīng)有此行數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)則先刪除此行數(shù)據(jù),然后插入新的數(shù)據(jù)。 2. 否則,直接插入新數(shù)據(jù)。 要注意的是:插入數(shù)據(jù)的表必須有主鍵或者是唯一索引!否則的話,replace into 會直接插入數(shù)據(jù),這將導(dǎo)致表中出現(xiàn)重復(fù)的數(shù)據(jù)。

MySQL replace into 有三種形式:

復(fù)制代碼 代碼如下:

 replace into tbl_name(col_name, ...) values(...)
 replace into tbl_name(col_name, ...) select ...
 replace into tbl_name set col_name=value, ...

前兩種形式用的多些。其中 “into” 關(guān)鍵字可以省略,不過最好加上 “into”,這樣意思更加直觀。另外,對于那些沒有給予值的列,MySQL 將自動為這些列賦上默認(rèn)值。

相關(guān)文章

  • MySQL SQL語句優(yōu)化的10條建議

    MySQL SQL語句優(yōu)化的10條建議

    這篇文章主要介紹了MySQL中SQL語句優(yōu)化需要注意的10點,,特別是大型高并發(fā)網(wǎng)站,需要的朋友可以參考下
    2014-03-03
  • 很全面的MySQL處理重復(fù)數(shù)據(jù)代碼

    很全面的MySQL處理重復(fù)數(shù)據(jù)代碼

    這篇文章主要為大家詳細(xì)介紹了MySQL處理重復(fù)數(shù)據(jù)的實現(xiàn)代碼,如何防止數(shù)據(jù)表出現(xiàn)重復(fù)數(shù)據(jù)及如何刪除數(shù)據(jù)表中的重復(fù)數(shù)據(jù),感興趣的小伙伴們可以參考一下
    2016-05-05
  • mysql生成隨機(jī)字符串函數(shù)分享

    mysql生成隨機(jī)字符串函數(shù)分享

    這篇文章主要介紹了mysql生成隨機(jī)字符串函數(shù)分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • MySQL語句匯總整理

    MySQL語句匯總整理

    這篇文章主要給大家分享的是MySQL語句匯總整理,圍繞MySQL語句的相關(guān)資料對其進(jìn)行整理,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助
    2021-12-12
  • Mysql樹形表的2種查詢解決方案(遞歸與自連接)

    Mysql樹形表的2種查詢解決方案(遞歸與自連接)

    MySQL作為一個關(guān)系型數(shù)據(jù)庫,存儲著許多的數(shù)據(jù)信息,在實際應(yīng)用中經(jīng)常會遇到需要存儲樹形結(jié)構(gòu)數(shù)據(jù)的情境,例如部門結(jié)構(gòu)、商品分類等,這篇文章主要給大家介紹了關(guān)于Mysql樹形表的2種查詢解決方案,分別是遞歸與自連接,需要的朋友可以參考下
    2023-11-11
  • MySQL安裝配置方法教程

    MySQL安裝配置方法教程

    這篇文章主要為大家詳細(xì)分享了MySQL安裝配置方法教程,包括Linux/UNIX和Window系統(tǒng)上安裝MySQL的具體步驟,感興趣的朋友可以參考一下
    2016-05-05
  • 解決mysql導(dǎo)入還原時亂碼的問題

    解決mysql導(dǎo)入還原時亂碼的問題

    sql文件,直接記事本方式打開,中文顯示正常,還原導(dǎo)入后,發(fā)現(xiàn)中文是亂碼
    2012-12-12
  • 詳解MySQL中的SQRT函數(shù)的使用方法

    詳解MySQL中的SQRT函數(shù)的使用方法

    這篇文章主要介紹了詳解MySQL中的SQRT函數(shù)的使用方法,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • MySQL中有哪些情況下數(shù)據(jù)庫索引會失效詳析

    MySQL中有哪些情況下數(shù)據(jù)庫索引會失效詳析

    這篇文章主要給大家介紹了關(guān)于MySQL中有哪些情況下數(shù)據(jù)庫索引會失效的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 一文帶你理解MySql中explain結(jié)果filtered

    一文帶你理解MySql中explain結(jié)果filtered

    使用EXPLAIN關(guān)鍵字可以模擬優(yōu)化器執(zhí)行SQL查詢語句,從而知道MySQL是如何處理你的SQL語句的,下面這篇文章主要給大家介紹了關(guān)于MySql中explain結(jié)果filtered的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09

最新評論