MySQL學(xué)習(xí)筆記

1.查看表的定義

show create table 表名稱证芭;

2.查看表中每一個字段的定義(包括校對規(guī)則)

show full columns from 表名稱;

3.并行事務(wù)處理帶來的問題

  • 更新丟失:T1和T2讀取同一行,T1修改寫入拧粪,T2再修改寫入,T1的修改(更新)丟失(鎖定正在讀取的行可以解決)
  • 臟讀:T1讀完沧侥,T1修改可霎,在提交之前,數(shù)據(jù)處于不一致狀態(tài)宴杀;T2讀癣朗,T1提交(修改生效),T2讀的是錯誤數(shù)據(jù)(鎖定正在讀取的行可以解決)
  • 不可重復(fù)讀:T1讀完未提交旺罢,T2更改生效旷余,T1再確認,T1發(fā)現(xiàn)兩次讀取的值不一樣(鎖定所讀取的所有行可以解決)
  • 幻讀:T1執(zhí)行查詢操作扁达,未提交正卧,T2插入或刪除了一些數(shù)據(jù)生效,T1按相同的查詢條件再次查詢跪解,T1發(fā)現(xiàn)兩次查詢結(jié)果不一致炉旷,就好像幻覺一樣。(鎖定表可以解決)

4.解決隔離和并發(fā)的矛盾
數(shù)據(jù)庫的事務(wù)隔離越嚴格叉讥,并發(fā)副作用越小砾跃,但并發(fā)訪問的能力下降,為了解決隔離和并發(fā)的矛盾节吮,可以根據(jù)自己的業(yè)務(wù)需要,選擇合適的隔離級別:

  • 未提交讀:會出現(xiàn)臟讀判耕、不可重復(fù)讀透绩、幻讀 ( 隔離級別最低,并發(fā)性能高 )
  • 已提交讀:鎖定正在讀取的行,會出現(xiàn)不可重復(fù)讀帚豪、幻讀
  • 可重復(fù)讀:鎖定所讀取的所有行碳竟,會出現(xiàn)幻讀
  • 可序列化:鎖定表,所有情況均不會發(fā)生

5.觸發(fā)器三要素:

  • 事件類型:增刪改(insert狸臣、delete和update)莹桅;
  • 觸發(fā)時間:事件類型前和后,即before和after烛亦;
    -- before:在增刪改之前執(zhí)行觸發(fā)內(nèi)容主體
    -- after:在增刪改成功之后執(zhí)行觸發(fā)內(nèi)容主體
  • 觸發(fā)對象:表中的每一條記錄(行)诈泼,即整張表(for each row )

6.創(chuàng)建觸發(fā)器:

delimiter $$(將命令結(jié)束符設(shè)定為$$)
create trigger 觸發(fā)器名稱 after/before insert/delete/update on 表名 for each row
begin
觸發(fā)內(nèi)容主體(每行用分號結(jié)尾);
end
$$
delimiter;(將命令結(jié)束符重新設(shè)定為;)

7.查看觸發(fā)器

show triggers\G
show create trigger 觸發(fā)器名稱 \G

\G會將結(jié)果旋轉(zhuǎn)90°煤禽,以便查看铐达。在navicat中使用 \G會導(dǎo)致語法錯誤

select * from information_schema.triggers where trigger_name='觸發(fā)器名稱'\G

8.觸發(fā)器記錄

  • OLD:舊記錄,即當前記錄的狀態(tài)(觸發(fā)器未觸發(fā)之前的記錄)檬果,插入時沒有OLD瓮孙;
  • NEW:新記錄,即假設(shè)操作發(fā)生之后記錄的狀態(tài)选脊,刪除時沒有NEW杭抠。
    當在觸發(fā)內(nèi)容主體中需要用到(觸發(fā)器創(chuàng)建的)表中某個字段的新/舊記錄時
OLD/NEW.字段名

9.分支結(jié)構(gòu)

if 條件判斷 then
    -- 滿足條件時,要執(zhí)行的代碼
else -- 可以沒有 else 語句
    -- 不滿足條件時恳啥,要執(zhí)行的代碼
end if;

9.循環(huán)結(jié)構(gòu)

循環(huán)名稱: while 條件判斷 do
    -- 滿足條件時要執(zhí)行的代碼
    -- 變更循環(huán)條件
    iterate/leave 循環(huán)名稱; -- 控制循環(huán)語句(繼續(xù)循環(huán)/結(jié)束循環(huán))
end while;

10.主鍵沖突的兩種解決方法
在一個定義了主鍵的表中插入新紀錄偏灿,如果主鍵對應(yīng)的值已存在,就會插入失敗

1062 - Duplicate entry '2' for key 'PRIMARY'

這就是主鍵沖突角寸,如何對主鍵已經(jīng)存在的記錄進行更改呢菩混?

  • 第一種方法:更新
insert into  表名[(字段列表:包含主鍵)]  values (值列表) 
on duplicate key 
update 字段 = 新值;
  • 第二種方法:替換(更簡便)
replace into 表名[(字段列表:包含主鍵)]  values (值列表);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扁藕,一起剝皮案震驚了整個濱河市沮峡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌亿柑,老刑警劉巖邢疙,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異望薄,居然都是意外死亡疟游,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門痕支,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颁虐,“玉大人,你說我怎么就攤上這事卧须×砑ǎ” “怎么了儒陨?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長笋籽。 經(jīng)常有香客問我蹦漠,道長,這世上最難降的妖魔是什么车海? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任笛园,我火速辦了婚禮,結(jié)果婚禮上侍芝,老公的妹妹穿的比我還像新娘研铆。我一直安慰自己,他們只是感情好竭贩,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布蚜印。 她就那樣靜靜地躺著,像睡著了一般留量。 火紅的嫁衣襯著肌膚如雪窄赋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天楼熄,我揣著相機與錄音忆绰,去河邊找鬼。 笑死可岂,一個胖子當著我的面吹牛错敢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缕粹,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼稚茅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了平斩?” 一聲冷哼從身側(cè)響起亚享,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绘面,沒想到半個月后欺税,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡揭璃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年晚凿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘦馍。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡歼秽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出情组,到底是詐尸還是另有隱情哲银,我是刑警寧澤扛吞,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站荆责,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏亚脆。R本人自食惡果不足惜做院,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望濒持。 院中可真熱鬧键耕,春花似錦、人聲如沸柑营。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽官套。三九已至酒奶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奶赔,已是汗流浹背惋嚎。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留站刑,地道東北人另伍。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像绞旅,于是被迫代替她去往敵國和親摆尝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

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