MYSQL學習筆記 (一)

來源:互聯網
上載者:User

標籤:

     每次面試後,都決定一改前非。事實上依然和那些發誓再吃最後一份美食的胖子一樣。不管這次是不是三分鐘熱度但是至少我開始。

     MYSQL引擎

     說到MYSQL引擎我又想起研二時候去面試的第一家公司——大脈。當時懵懵懂懂的就去了,然後被那個面試官問我開發的那個系統

MYSQL資料庫採用的什麼引擎。現在想起了也好笑,明明當時有瞭解過這個,卻到關鍵的時候忘了。好了不題外話了,進入主題。

    MYSQL引擎有9種,我們通常用到的主要是INNOB和MYISAM。其實INNOB支援交易處理,支援外鍵,在插入、更新操作時只對資料行進行

鎖定。在SELECT操作較多並且不需要交易處理的情況下使用MYISAM比較多,它不支援外鍵,並且在插入、更新操作時對資料包進行鎖定。另外

二種儲存引擎的儲存 結構也不同。

    MYSQL字串char與varchar的區別

    varchar為變長字串類型,這就意味著字串佔有的儲存空間為自身的大小。例如對於中文簡體字元集gbk的字串而言,varchar(255)

表示可以儲存255個漢字。而每個漢字佔用兩個位元組的儲存空間。假若這個字串沒有那麼多的漢字,例如僅僅包括一個“中”字,那麼varchar(255)

僅僅佔用一個字元(2個位元組)的儲存空間,如果不考慮其他開銷。而char(255) 必須佔用255個字元長度的儲存空間,哪怕裡面只儲存一個漢字。

但是對於char而言,即使只有2個位元組也會佔用全部的儲存空間。

    DATETIME與DATESTAMP的區別

    datetime與datestamp格式差不多,但是datetime的範圍遠遠大於datestamp。datestamp到 2037年就玩完了。另外 datestamp類型的資料在

不賦值時預設為當前日期時間。

     WHERE與HAVING的區別  

     作用的對象不同。WHERE 子句作用於表和視圖,HAVING 子句作用於組。WHERE 在分組和聚集計算之前選取輸入行(因此,它控制哪些行進入聚集計算),

而 HAVING 在分組和聚集之後選取分組的行。。因此,WHERE 子句不能包含聚集合函式; 因為試圖用聚集合函式判斷那些行輸入給聚集運算是沒有意義的。

相反,HAVING 子句總是包含聚集合函式。(嚴格說來,你可以寫不使用聚集的 HAVING 子句,但這樣做只是白費勁。同樣的條件可以更有效地用於 WHERE 階段。)

  

MYSQL學習筆記 (一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.