MySQL數據類型

1bit即爲一位二進制,mysql

1Byte=8bit,即爲八位二進制。換算成十進制可表示的最大的數值個數爲2^8sql

1、數值型ide

整型spa

數據類型排序

存儲大小索引

tinyintrem

1Byte 2^8個數字字符串

smallintit

2Byteio

mediumint

3Byte

int

4Byte

bigint

8Byte

浮點數

數據類型



float(m,d)

單精度浮點數

m:浮點型數值的長度,不包括符號。d:小數點後面數字的位數

double(m,d)

雙精度浮點數

2、字符型

字符類型

大小寫

定長/變長

佔用空間

實佔空間

儲存範圍

char(n)

不分區

定長

n

n

0--2^8-1Bytes  256字節

varchar(n)

不區分

變長

n

實際字符長度空間

0--2^16-1Bytes  65535字節

binary(n)

區分

定長

n

n

0-2^8-1bytes  256字節

varbinary(n)

區分

變長

n

實際字符長度空間

0--2^16-1Bytes  65535字節

text

不區分

變長



0-2^16-1bytes   65535字節

blob

區分

變長

n

實際字符長度空間

0-2^16-1bytes   65535字節







char須要佔用一個字節標記非空,因此最多254字節可用。

varchar超過255字節時須要2個字節標記字段長度,不超過255字節須要1個字節標記長度,非空標記佔用一個字節。

char類型的字符串檢索速度要比varchar類型的快。

 

varchar可指定ntext不能指定

text是實際字符數+2個字節。

text類型不能有默認值。

varchar可直接建立索引,text建立索引要指定前多少個字符。varchar查詢速度快於text,在都建立索引的狀況下,text的索引彷佛不起做用。

枚舉型ENUM:就是列出某個字段的全部可能取得值。儲存範圍是0-65535bytes。如ENUM('F','M')

3、日期時間型

日期時間型

儲存範圍

佔用空間

日期型DATE

"1000-01-01→9999-12-31"

3bytes

時間型TIME

"-838:59:59"→"838:59:59"

3bytes

日期時間型DATETIME

"1000-01-01 00:00:00"→"9999-12-31 23:59:59"

8bytes

時間戳型TIMESTAMP

是1970-01-01 00:00:00到當前的秒數

4bytes

年型YEAR(2)

"00-99"

1bytes

年型YEAR(4)

"1901-2155"

1bytes

4、字段修飾符

在聲明字段的時候,能夠爲這些字段添加額外的修飾符,不一樣的數據類型,其修飾符也是不同的,

數據類型

修飾符

整型

unsigned:無符號,表示非負,定義在最前面

null

not null

default value :定義默認值

auto_incremnet:自動增加,定義的字段必須是整型、非空、非負、惟一鍵或主鍵

浮點數

unsigned , null , not null , default value

字符型

charvarchartext

null , not null , default value

character set 字符集(show character   set 能夠查看支持的字符集,show variables like ‘%charac%’能夠查看支持的默認字符集)

collation '排序規則':設定排序規則;

show collation能夠查看mysql支持的全部排序規則。

字符型binaryvarbinaryblob

null , not null , default value

 

日期型

null , not null , default value

enum(枚舉型)

null , not null , default value

相關文章
相關標籤/搜索