mysql 資料型別

2021-08-14 08:41:22 字數 2856 閱讀 4129

1.整數型別

資料型別

位元組數無符號數的取值範圍

有符號數的取值範圍

tinyint

10~2^8-1

-2^7 ~2^7-1

smallint

20~2^16-1

-2^15 ~2^15-1

mediumint

30~2^24-1

-2^23 ~2^23-1

int4

0~2^32-1

-2^31 ~2^31-1

bigint

80~2^64-1

-2^63 ~2^63-1

2.浮點數型別和定點數型別

資料型別

位元組數有符號的取值範圍

無符號的取值範圍

float

4double

8-1.79e+308~2.2e-308

0和2.2e-308~1.79e308

decimal(m,d)

m+2-1.79e+308~2.2e-308

0和2.2e-308~1.79e308

從表中可以看出,decimal型別的取值範圍與double型別相同。需要注意的是,decimal型別的有效取值範圍是由m和d決定的,其中,m表示的是資料的長度,d表示的是小數點後的長度。如:將資料型別為decimal(6,2)的資料3.1415插入資料庫後,顯示的是3.14。

3. 日期與時間型別

資料型別

位元組數取值範圍

日期格式

零值year

11901~2155

yyyy

0000

date

41000-01-01~9999-12-3

yyyy-mm-dd

0000-00-00

time

3-838:59:59~838:59:59

hh:mm:ss

00:00:00

datetime

8 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

yyyy-mm-dd

hh:mm:ss

0000-00-00

00:00:00

timestamp

41970-01-01 00:00:01 ~ 2038-01-19 03:14:07

yyyy-mm-dd

hh:mm:ss

0000-00-00

00:00:00

需要注意的是,如果插入的數值不合法,系統會自動將對應的零值插入資料庫中。

4.字串和二進位制型別

資料型別

型別說明    

char

用於表示固定長度的字串

varchar

用於表示可變長度的字串

binary

用於表示固定長度的二進位制資料

varbinary

用於表示可變長度的二進位制資料

blob

用於表示二進位製大資料

text

用於表示大文字資料

enum

表示列舉型別,只能儲存乙個列舉字串值

set表示字串物件,可以有零或多個值

bit表示位欄位型別

char與varchar對比:char(4)型別時,不管插入值的長度是多少,所占用的空間都是4個位元組。varchar(4)所占用的位元組數為實際長度加1。如『』的長度為1,'abcd'的長度為5

binary與varbinary對比:他倆與char、varchar相似。binary(m)或varbinary(m),m指的是二進位制資料的最大位元組長度。binary型別的長度是固定的,如果資料長度不足,會在資料的後面用」\0「補齊,最終達到指定長度。

text型別

資料型別

儲存範圍       

tinytext

0~255位元組

text

0~65535位元組

mediumtext

0~16777215位元組

longtext

0~4294967295位元組

blob型別

資料型別

儲存範圍         

tinyblob

0~255位元組

blob

0~65535位元組

mediumblob

0~16777215位元組

longblob

0~4294967295位元組

blob型別是一種特殊的二進位制型別,它用於表示資料量很大的二進位制資料,如,pdf文件等。blob型別和text型別很相似,但blob 型別根據二進位制編碼進行比較和排序,而text型別資料根據文字模式進行比較和排序。

enum型別

定義enum型別為:enum('值1','值2',...,'值n')。enum型別的資料只能從列舉列表中取,並且只能取乙個。列舉列表中的值都有乙個順序標號,mysql中儲存的是這個順序標號而不是列表中的值。

set型別

set型別用於表示字串物件,它的值可以有零個或多個,set型別資料的定義格式與enum型別類似。

定義格式為:set('值1','值2',...,'值n')。同樣mysql儲存的是列表的順序編號。

bit型別

bit型別用於表示二進位制資料。定義bit型別資料格式如下:bit(m)。

其中m用於表示每個值的位數。當位數不足時,會在左邊補零。如:為bit(6)分配值b'101'的效果與分配b'000101'相同。

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...