MySQL中經常用到實用的幾種SQL語句

2022-08-19 01:42:10 字數 2311 閱讀 1878

實用的sql

1.插入或替換

如果我們想插入一條新記錄(insert),但如果記錄已經存在,就先刪除原記錄,再插入新記錄。

情景示例:這張表存的每個客戶最近一次交易訂單資訊,要求保證單個使用者資料不重複錄入,且執行效率最高,與資料庫互動最少,支撐資料庫的高可用。

此時,可以使用"replace into"語句,這樣就不必先查詢,再決定是否先刪除再插入。

"replace into"語句是基於唯一索引或主鍵來判斷唯一(是否存在)的。

"replace into"語句是基於唯一索引或主鍵來判斷唯一(是否存在)的。

"replace into"語句是基於唯一索引或主鍵來判斷唯一(是否存在)的。

注意事項:如下sql所示,需要在username欄位上建立唯一索引(unique),transid設定自增即可。

--20點充值

replace into last_transaction (transid,username,amount,trans_time,remark)

values (

null, '

chenhaha

', 30, '

2020-06-11 20:00:20

', '

會員充值');

--21點買**

replace into last_transaction (transid,username,amount,trans_time,remark)

values (

null, '

chenhaha

', 100, '

2020-06-11 21:00:00

', '

購買盲僧至高之拳**

');

若username='chenhaha'的記錄不存在,replace語句將插入新記錄(首次充值),否則,當前username='chenhaha'的記錄將被刪除,然後再插入新記錄。

id不要給具體值,不然會影響sql執行,業務有特殊需求除外。

2.插入或更新

如果我們希望插入一條新記錄(insert),但如果記錄已經存在,就更新該記錄,此時,可以使用"insert into ... on duplicate key update ..."語句:

情景示例:這張表存了使用者歷史充值金額,如果第一次充值就新增一條資料,如果該使用者充值過就累加歷史充值金額,需要保證單個使用者資料不重複錄入。

這時可以使用"insert into ... on duplicate key update ..."語句。

注意事項:同上,"insert into ... on duplicate key update ..."語句是基於唯一索引或主鍵來判斷唯一(是否存在)的。如下sql所示,需要在username欄位上建立唯一索引(unique),transid設定自增即可。

--使用者陳哈哈充值了30元買會員

insert into total_transaction (t_transid,username,total_amount,last_transtime,last_remark)

values (

null, '

chenhaha

', 30, '

2020-06-11 20:00:20

', '

充會員'

) on duplicate key update  total_amount=total_amount + 30, last_transtime='

2020-06-11 20:00:20

', last_remark ='

充會員';

--使用者陳哈哈充值了100元買瞎子至高之拳**

insert into total_transaction (t_transid,username,total_amount,last_transtime,last_remark)

values (

null, '

chenhaha

', 100, '

2020-06-11 20:00:20

', '

購買盲僧至高之拳**')

on duplicate key update total_amount=total_amount + 100, last_transtime='

2020-06-11 21:00:00

', last_remark ='

購買盲僧至高之拳**

';

若username='chenhaha'的記錄不存在,insert語句將插入新記錄,否則,當前username='chenhaha'的記錄將被更新,更新的字段由update指定。

A 演算法 遊戲開發中經常用到

a star 演算法是一種靜態路網中求解最短路最有效的直接搜尋方法。公式表示為 f n g n h n 其中 f n 是從初始點經由節點n到目標點的估價函式,g n 是在狀態空間中從初始節點到n節點的實際代價,h n 是從n到目標節點最佳路徑的估計代價。保證找到最短路徑 最優解的 條件,關鍵在於估價...

Eclipse 中經常用到的快捷鍵

eclipse 常用快捷鍵收集 2006年09 月29日星期五 12 00 ctrl 1 快速修復 最經典的快捷鍵 就不用多說了 ctrl d 刪除當前行 ctrl alt 複製當前行到下一行 複製增加 ctrl alt 複製當前行到上一行 複製增加 alt 當前行和下面一行互動位置 特別實用 可以...

Eclipse 中經常用到的快捷鍵

ctrl 1 快速修復 最經典的快捷鍵,就不用多說了 ctrl d 刪除當前行 ctrl alt 複製當前行到下一行 複製增加 ctrl alt 複製當前行到上一行 複製增加 alt 當前行和下面一行互動位置 特別實用,可以省去先剪下,再貼上了 alt 當前行和上面一行互動位置 同上 alt 前乙個...