MySQL數(shù)據(jù)庫(kù)基礎(chǔ)培訓(xùn)筆記

1旨巷、SQL中的字符串都要用單引號(hào)

不用單引號(hào)也可能會(huì)執(zhí)行,但是會(huì)有類型轉(zhuǎn)換,而類型轉(zhuǎn)換設(shè)計(jì)函數(shù)操作寸宏,引起索引失效或邏輯錯(cuò)誤的問(wèn)題歧蒋。

2土砂、SQL書寫順序和邏輯順序要一致

  • order by要放在句末
  • select a,b from t order by c ,c不在select項(xiàng)中谜洽,數(shù)據(jù)庫(kù)引擎是怎么處理的萝映?
    MySQL進(jìn)行數(shù)據(jù)的邏輯存儲(chǔ),以page為單位阐虚,會(huì)抽取所有數(shù)據(jù)序臂。
  • select id1 as fid from t where fid = 2 能執(zhí)行嗎?
    不能;執(zhí)行順序是先where奥秆,再select逊彭。

3、內(nèi)連接與外鏈接

  • 內(nèi)聯(lián)接(典型的聯(lián)接運(yùn)算构订,使用像 = 或 <> 之類的比較運(yùn)算符)
    包括相等聯(lián)接和自然聯(lián)接侮叮。
    內(nèi)聯(lián)接使用比較運(yùn)算符根據(jù)每個(gè)表共有的列的值匹配兩個(gè)表中的行。例如悼瘾,檢索 students和courses表中學(xué)生標(biāo)識(shí)號(hào)相同的所有行囊榜。

  • 外聯(lián)接
    外聯(lián)接可以是左向外聯(lián)接、右向外聯(lián)接或完整外部聯(lián)接亥宿。
    在 FROM子句中指定外聯(lián)接時(shí)卸勺,可以由下列幾組關(guān)鍵字中的一組指定:
    1)LEFT JOIN或LEFT OUTER JOIN
    左向外聯(lián)接的結(jié)果集包括 LEFT OUTER子句中指定的左表的所有行,而不僅僅是聯(lián)接列所匹配的行烫扼。如果左表的某行在右表中沒(méi)有匹配行曙求,則在相關(guān)聯(lián)的結(jié)果集行中右表的所有選擇列表列均為空值。
    2)RIGHT JOIN 或 RIGHT OUTER JOIN
    右向外聯(lián)接是左向外聯(lián)接的反向聯(lián)接映企。將返回右表的所有行悟狱。如果右表的某行在左表中沒(méi)有匹配行,則將為左表返回空值卑吭。
    3)FULL JOIN 或 FULL OUTER JOIN
    完整外部聯(lián)接返回左表和右表中的所有行芽淡。當(dāng)某行在另一個(gè)表中沒(méi)有匹配行時(shí),則另一個(gè)表的選擇列表列包含空值豆赏。如果表之間有匹配行挣菲,則整個(gè)結(jié)果集行包含基表的數(shù)據(jù)值。

  • 考慮這個(gè)SQL語(yǔ)句:

    select count(*) from a2 left join b2 on a2.id = b2.id
    

這個(gè)語(yǔ)句沒(méi)有意義:因?yàn)閍2作為左表掷邦,數(shù)據(jù)項(xiàng)都會(huì)被顯示白胀,而count將每次都得到相同的結(jié)果。

  • 外鏈接的內(nèi)部處理方式:(可以從擴(kuò)展執(zhí)行計(jì)劃中查看具體的執(zhí)行過(guò)程抚岗,類似于單步調(diào)試)
    有where條件的left join查詢或杠,內(nèi)部將以內(nèi)連接處理。

4宣蔚、語(yǔ)法細(xì)節(jié)

  • update同時(shí)更新多條向抢,以逗號(hào)“,”將update的值分隔,一并執(zhí)行:

    update a1 set a = 1,b = 2 where ...
    
  • delete from t where id;
    可以正常執(zhí)行:id有值的數(shù)據(jù)都滿足胚委。

  • truncate和delete *
    truncate是原子事務(wù)挟鸠,沒(méi)有日志記錄(或者說(shuō)只有一條語(yǔ)句執(zhí)行的日志),所以不能進(jìn)行事務(wù)回滾亩冬。
    delete操作將產(chǎn)生詳細(xì)的日志艘希,IO頻繁,支持事務(wù)回滾。

5覆享、Quanr數(shù)據(jù)庫(kù)命名規(guī)范

庫(kù)佳遂、表、字段命名
  • 必須使用小寫字母撒顿,并采用下劃線分割丑罪;
  • 不超過(guò)32個(gè)字符;
  • 必須見名知意核蘸,與事務(wù)巍糯、產(chǎn)品線相關(guān);
  • 禁用MySQL保留字客扎;
  • 臨時(shí)表以tmp_做前綴,日期做后綴罚斗,如:tmp_hourse_xxx_20170301
  • 備份表以bak_做前綴徙鱼,日期做后綴,如:bak_hourse_xxx_20170301
索引命名
  • 小寫字母针姿,下劃線分割袱吆,禁用駝峰式;
  • 非唯一索引:idx_字段名稱[_字段名稱]
  • 唯一索引:uniq_字段名稱[_字段名稱]

6距淫、Quanr數(shù)據(jù)操作基礎(chǔ)規(guī)范

  • 使用INNODB存儲(chǔ)引擎并且使用業(yè)務(wù)不相關(guān)自增ID為主鍵绞绒;
  • 使用UTF8 / UTFMB4字符集;
  • 所有表榕暇、字段都要加注釋蓬衡;
  • 禁止在數(shù)據(jù)庫(kù)中存放圖片、文件等彤枢;
  • 每張數(shù)據(jù)表數(shù)據(jù)量控制在5000W以內(nèi)狰晚;
  • 禁止在線上做數(shù)據(jù)庫(kù)壓力測(cè)試;
  • 禁止從測(cè)試缴啡、開發(fā)環(huán)境直連數(shù)據(jù)庫(kù)壁晒。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市业栅,隨后出現(xiàn)的幾起案子秒咐,更是在濱河造成了極大的恐慌,老刑警劉巖碘裕,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件携取,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡娘汞,警方通過(guò)查閱死者的電腦和手機(jī)歹茶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人惊豺,你說(shuō)我怎么就攤上這事燎孟。” “怎么了尸昧?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵揩页,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我烹俗,道長(zhǎng)爆侣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任幢妄,我火速辦了婚禮兔仰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蕉鸳。我一直安慰自己乎赴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布潮尝。 她就那樣靜靜地躺著榕吼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪勉失。 梳的紋絲不亂的頭發(fā)上羹蚣,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音乱凿,去河邊找鬼顽素。 笑死,一個(gè)胖子當(dāng)著我的面吹牛告匠,可吹牛的內(nèi)容都是我干的戈抄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼后专,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼划鸽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起戚哎,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤裸诽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后型凳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丈冬,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年甘畅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了埂蕊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片往弓。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蓄氧,靈堂內(nèi)的尸體忽然破棺而出函似,到底是詐尸還是另有隱情,我是刑警寧澤喉童,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布撇寞,位于F島的核電站,受9級(jí)特大地震影響堂氯,放射性物質(zhì)發(fā)生泄漏蔑担。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一咽白、第九天 我趴在偏房一處隱蔽的房頂上張望啤握。 院中可真熱鬧,春花似錦局扶、人聲如沸恨统。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至莫绣,卻和暖如春畴蒲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背对室。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工模燥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掩宜。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓蔫骂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親牺汤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辽旋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

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