MySQL常見的4種數據類型,一篇文章帶你搞懂!


數據類型:定義列中可以存儲什么數據以及該數據實際怎樣存儲的基本規則。

數據類型用於以下目的:

1、允許限制可存儲在列中的數據。如:數值數據類型列只能接受數值。

2、允許在內部更有效地存儲數據。如:用比文本串更簡潔的格式存儲數值和日期時間值。

3、允許變換排序順序。如:數據都作為串處理,則1位於10前,10位於2前(串以字典順序排序,從左邊開始比較,一次一個字符);作為數值數據類型,數值才能正確排序。

一、串數據類型

最常用的數據類型,存儲串,如名字、地址、電話號碼等。

兩種基本的串類型:定長串和變長串。

定長串:接受長度固定的字符串,其長度是在創建表時指定的。定長列不允許多於指定的字符數目,它們分配的存儲空間與指定的一樣多。如:CHAR。

變長串:存儲可變長度的文本。有些變長數據類型具有最大的定長,有些則是完全變長的,不管是哪種,只有指定的數據會得到保存(額外的數據不保存),如:TEXT。

PS:MySQL處理定長列遠比處理變長列快得多。且MySQL不允許對變長列(或一個列的可變部分)進行索引。

數據類型說明:

CHAR:1~255個字符的定長串。長度必須在創建時指定,否則MySQL假定為CHAR(1)。

ENUM:接受最多64K個串組成的一個預定義集合的某個串。

LONGTEXT:與TEXT相同,但最大長度為4GB。

MEDIUMTEXT:與TEXT相同,但最大長度為16 K。

SET:接受最多64個串組成的一個預定義集合的零個或多個串。

TEXT:最大長度為64 K的變長文本。

TINYTEXT:與TEXT相同,但最大長度為255字節。

VARCHAR:長度可變,最多不超過255字節。如創建時指定為VARCHAR(n),則可存儲0到n個字符的變長串(其中n≤255)。

PS:

1、引號:使用何種形式的串數據類型,串值都必須括在引號內(通常使用單引號)。

2、須遵守的基本規則:如果數值是計算(求和、平均等)中使用的數值,則存儲在數值數據類型列中。如果數值作為字符串使用,則保存在串數據類型列中。如:在數值字段中存儲郵政編碼01234,保存的是數值1234,丟失了一位數字。

二、數值數據類型

存儲數值。MySQL支持多種數值數據類型,每種存儲的數值具有不同的取值范圍。

支持的取值范圍越大,所需存儲空間越多。此外,有的數值數據類型支持使用十進制小數點(和小數),而有的則只支持整數。表D-2列出了常用的MySQL數值數據類型。

PS:

1、所有數值數據類型(除BIT和BOOLEAN外)都可以有符號或無符號。有符號數值列可以存儲正或負的數值,無符號數值列只能存儲正數。

2、默認情況為有符號,若不需要存儲負值,可以使用UNSIGNED,這樣做將允許你存儲兩倍大小的值。

3、與串不同,數值不應該在引號內。

4、MySQL中沒有專門存儲貨幣的數據類型,一般情況下使用DECIMAL(8, 2)。


 

數據類型說明:

BIT:位字段,1~64位。在MySQL 5之前,BIT在功能上等價於TINYINT。

BIGINT:整數值,支持-9223372036854775808~9223372036854775807。如果是UNSIGNED,為0~18446744073709551615的數。

BOOLEAN(或BOOL):布爾標志,為0或者為1,主要用於開/關(on/off)標志。

DECIMAL(或DEC):精度可變的浮點值。

DOUBLE:雙精度浮點值

FLOAT:單精度浮點值

INT(或INTEGER):整數值,支持-2147483648~2147483647,UNSIGNED同上。

MEDIUMINT:整數值,支持-8388608~8388607,UNSIGNED同上。

REAL:4字節的浮點值。

SMALLINT:整數值,支持-32768~32767,UNSIGNED同上。

TINYINT:整數值,支持-128~127,UNSIGNED同上。

三、日期和時間數據類型

數據類型說明:

DATE:表示1000-01-01~9999-12-31的日期,格式為YYYY-MM-DD。

DATETIME:DATE和TIME的組合。

TIMESTAMP:功能和DATETIME相同,但范圍較小。

TIME:格式為HH:MM:SS。

YEAR:2位數字表示,范圍是70~69(1970~2069);4位數字表示,范圍是1901~2155

四、二進制數據類型

可存儲任何數據(甚至包括二進制信息),如圖像、多媒體、字處理文檔等。

數據類型說明:

BLOB:Blob最大長度為64KB。

MEDIUMBLOB:Blob最大長度為16 MB。

LONGBLOB:Blob最大長度為4GB。

TINYBLOB:Blob最大長度為255字節。

以上就是關於對MySQL數據類型全解析的詳細介紹,歡迎大家對MySQL數據類型全解析內容提出寶貴意見!

最后

特別推薦一個分享C/C++和算法的優質內容,學習交流,技術探討,面試指導,簡歷修改...還有超多源碼素材等學習資料,零基礎的視頻等着你!

還沒關注的小伙伴,可以長按關注一下:


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM