Mysql 基礎文法2

來源:互聯網
上載者:User

標籤:mysql 基礎文法

一,字串類型

  1. char和varchar

          1. 都需要指定字元的長度,char中的長度是字元的長度,而varchar的長度是位元組的長度

          2.  char中指定的長度就是實際佔用的長度,而varchar指定的長度只是一個範圍,所以varchar還要拿1-2個位元組儲存該字串到底有多少個位元組,並且varchar中能夠實際儲存的字元跟編碼有關(utf8編碼20000多,gbk編碼30000多)

          3.  varchar對儲存空間的佔用更靈活,但是char的效率更高

          4.如果字串的長度是固定已知的,就用char,如果字串的長度是可變的,就用varchar

b.text:文本類型,使用起來類似於varchar,只不過這裡不需要指定長度,其中longtext認為文本沒有限制

c.enum:枚舉類型,類似於單選!實際儲存的是原選項的位置,位置用1,2,3,4來代替,理論上最多可以表示65535個選項

d.set:集合類型,類似於多選!實際儲存的是也原選擇的位置,位置用1,2,4,8來代替,然後把所有選項的位置相加,理論上最多可以表示64個多選項

e.binary、varbinary、blob:二進位文本類型,就是位元組流的char、varchar和text,在實際的項目中,很少使用


二,列屬性

  1. null|not null,預設值是null,也就是允許為空白,如果是notnull而又沒有給該欄位賦值的話,系統會首先查詢該欄位有沒有預設值

  2. default:給一個欄位一個預設值,如果沒有給該欄位填充資料,就用該預設值來代替,通常就是配合not null一起使用

  3. primary key:主鍵,唯一可區別其他記錄的欄位,一個表中只能有一個主鍵,也可以很多個欄位組合成一個組合主鍵,而且不允許為空白!

  4. unique key:唯一鍵,與主鍵的區別是唯一鍵可以有很多個,而且允許為空白

  5. auto_increment:自動成長,使用這個屬性有兩個條件,第一該欄位必須為整型,第二該欄位必須存在索引,通常就是配合主鍵一起使用,也可以通過修改表選項設定自動成長的預設初始值

  6. comment:列注釋


三,索引

  1. 索引的本質就是在“原始表”的基礎之上根據某個或某些欄位進行排序後的“內建表”

  2. 索引的最大優勢可以極大的提高查詢速度

  3. 在提高查詢速度的同時也降低了增刪改的速度


四,實體與實體關聯

  1. 一對一:主要用來做資料表的最佳化(垂直分割)

  2. 一對多:在多的那一方增加一個欄位,用於指向1的那一方

  3. 多對多:增加一個中間表,就是將一個多對多的關係拆分成兩個一對多的關係


五,外鍵

  1. 只有InnoDB儲存引擎才可以使用

  2. 關鍵字:foreign key

  3. 級聯操作:主表更新onupdate[級聯操作],主表刪除:文法形式為:on delete[級聯操作]。cascade:同步操作,set null:設定為null,restrict:拒絕主表的更新或刪除

  4. 定義方式:foreignkey(本表欄位名) references 父表(主鍵) on delete[cascade|set null|restrict] on update [cascade|setnull|restrict]


六,範式

1第一範式:要求把各種資料設計成一個一個的欄位,不能再分

2第二範式:在滿足第一範式的基礎之上,表中的一行都具有唯一的可以區分的特性;不能有部分依賴

3第三範式:在滿足第二範式的基礎之上,消除傳遞依賴


Mysql 基礎文法2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.