MYSQL基礎筆記(七)- 資料類型二

來源:互聯網
上載者:User

標籤:

  字串類型

  在SQL中,講字串類型分成了六類:char,varchar,text,blob,enum,set

  char,定長字串

  磁碟(二維表)在定義結構的時候,就已經確定了最終資料的儲存長度。

  char(L):L代表length,可以儲存長度,單位為字元。最大長度值為255.

  varchar變長字串

  在分配空間的時候,按照最大的空間分配,但是實際上最終用了多少空間,是根據具體的資料來確定的。

  varchar(L):L表示字元長度,理論長度是65536個字元,但是會多出1到2個位元組來確定儲存的實際長度。

  例如,varchar(10):存了10個漢字,utf8環境下,10*3+1=31個位元組。

            儲存3個漢字,3*3+1 = 10(bytes)

  如何選擇定長或則是變長字串呢?

  第一,定長的磁碟空間比較浪費,但是效率高。如果資料基本上確定長度都一樣,就是用定長。

  第二,變長比較節約磁碟空間,但是效率低。如果資料不能確定長度,可以採用。

  text,文本字串

  如果資料量非常大,通常說超過255個字元,就使用文本字串。

  文本字串根據儲存的資料的格式進行分類:text OR blob.

  Text:儲存文字(位元據根據實際都是儲存路徑)

  Blob:儲存位元據(通常不用)。

 

  enum,枚舉字串

  事先將所有可能出現的結果都設計好,實際上儲存的資料必須是規定好的資料中的一個。

  枚舉的使用方式:

  定義:enum(可能出現的元素列表);  -- 如 enum(‘男‘,‘女‘,‘妖‘,‘保密‘);

  使用:儲存資料,只能儲存上面定義好的資料。

  作用:1、規範資料格式,資料只能是規定的資料中的其中一個。枚舉實際儲存的是數值二不是字串本身。

     2、節省儲存空間(枚舉通常有一個別名:單選框)

  在MYSQL中,系統是自動轉換資料格式的,而且基本與PHP一樣。

  枚舉的原理:枚舉在進行資料規範的時候(定義資料的時候),系統會自動建立一個資料與枚舉元素的對應關係(關係放到日誌中),然後在進行資料插入的時候,系統自動將字元轉換成對應的數字儲存,分然後進行資料提取的時候,系統自動將數值轉換成對應的字串顯示。

  集合字串

  集合和枚舉類似:實際儲存的是數值,而不是字串(集合是多選)。

  定義:Set (元素列表)

  使用:可以使用元素列表中的元素(多個),使用逗號分隔。

  集合中沒有一個元素。

  集合的強大在於能夠規劃資料和節省空間的,php也可以規範資料,但對於PHP來說效率優先,而且資料的維護可以通過數字進行。PHP沒有辦法判斷資料的在資料庫的形式,集合增加PHP的維護成。

  

  MYSQL記錄長度

  MYSQL中規定,任何一條記錄最長不能超過65535個位元組。

  MYSQL記錄中:如果有任何一個欄位允許為空白,那麼系統會自動從整個記錄中保留一個位元組來儲存NULL。

 

  列屬性 

  列屬性: 真正限制欄位的是資料類型,但是資料類型的約束很單一,需要有一些額外的約束,來保證資料的合法性。

  列屬性有很多: NULL/NOT NULL , DEFAULT,PRIMARY KEY,UNIQUE KEY,AUTO_INCREMENT,COMMENT.

  空屬性:兩個值,NULL(空,預設值)和NOT NULL(不為空白)

  列描述: comment,描述,沒有實際含義,是專門用來描述欄位。

  DEFAULT:預設值關堅詞。

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.