mysql中的数据类型

1.整数类型

                                     

整数类型

字节

取值范围

取值范围

tinyint

1

有符号 -128

无符号 0

有符号 127

无符号 255

smallint

2

有符号 -32768

无符号 0

有符号 32767

无符号65535

mediumint

3

有符号 -8388608

无符号 0

有符号 8388607

无符号1677215

int,integer

4

有符号 -2147483648

无符号 0

有符号 2147483647

无符号 4294967295

bigint

8

有符号 -263

无符号 0

有符号 263-1

无符号264-1

 

 

2.浮点类型和定点数类型

                                       

浮点数类型

字节

负数的取值范围

非负数得取值范围

float单精度

4

-3.402823466E+38~

-1.175494351E-38


01.175494351E-38~

3.402823466E+38

double双精度

8

-1.7976931348623157E+308~

-2.2250738585072014E-308

02.2250738585072014E-308~1.7976931348623157E

定点类型

字节

描述

decimal(m,d)

M+2

最大取值范围与double相同,给定decimal的有效取值范围由MD决定


注意:                                    

floatdouble类型的精度比要高,那么如果需要精确到小数点10位以上,那么我们就用double类型,普通用float类型就够了Mysql中,定点数的精度比浮点要高,而且,浮点数会出现误差,如果要对数据的精度要求比较高的话,那么应该选择定点数。

 

   

3.字符串类型

                                 

字符串类型

字节

描述

char(m)

M

M0-255之间的整数

varchar(m)


M0-65535之间的整数,值的长度为+1个字节

tinytext


允许长度0-255字节,值为长度+2个字节

text


允许长度0-65535字节,值为长度+2个字节

mediumtext


允许长度0~167772150字节值为长度+3个字节

longtext


允许长度0~4294967295字节值为长度+4个字节

注意:

   varchar为可变字符串,会根据实际的字符串长度分配内存空间,如varchar(5)如果存的数据是‘123’,实际占的字节数是三个,而char(5)存储同样的数据实际占的字节数是五个。


4.日期和时间类型


                                         

日期和时间类型

字节

最小值

最大值

Date 年月日

4

1000-01-01

9999-12-31

Datetime 年月日时分秒

8

1000-01-01 00:00:00

9999-12-31 23:59:59

Timestamp 时区对应时间

4

19700101080001

20380119111407

Time单独表示时间

3

-838:59:59

838:59:59

Year 单独表示年

1

1901

2155

     

   

5.二进制类型


    整数类型
                                              取值范围
BINARY(M)

字节数为M,允许长度为0~M的定长二进制字符串

VARBINARY(M)
允许长度为0M的变长二进制字符串
TINYBOLB
可变长二进制数据,最多255个字节
BOLB
可变长二进制数,最多(2^16 - 1)个字节
MEDIUMBOLB
可变长二进制,最多(2^24 - 1)个字节
LONGBOLB
可变长二进制,最多(2^32 - 1)个字节

                                         

text类型与blob类型很类似,text只能存储字符数据,纯文本之类的。选择text类型

blob类型可以存储二进制数据,可以存储图片pdf等的二进制数据,选择blob类型



                                         

6.枚举类型

enum取值范围0~65535

set取值范围0~64


Enum类型可以有65535个成员,而set类型最多只能包含64个成员,两者取值范围只能在成员列表中选取,enum类型只能从成员当中选择一个,而set 类型可以选择多个,

enum用法:那么对于多个值当中选取一个的话,可以选择enum类型,比如,性别(男女)二选一

set类型用法:比如个人爱好,可以选择多个,那么这个使用我们用set类型

     



     

你可能感兴趣的:(mysql)