MySQL数据类型

mysql数据库中的数据类型

数据类型:是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

有符号位:二进制最高位,为0表示数字正数,为1表示数字负数。

无符号位:数字不存在负数的情况,都是正数。

一、整型

数据类型 存储范围 字节
tinyint

有符号:-128~127(-27~27-1)

无符号:0~255(0~28-1)

1
smallint

有符号:-32768~32767(-215~215-1)

无符号:0~65535(0~216-1)

2
mediumint

有符号:-8388608~8388607(-223~223-1)

无符号:0~16777215(0~224-1)

3
int

有符号:-2147483648~2147483647(-231~231-1)

无符号:0~4294967295(0~232-1)

4
bigint

有符号:-9223372036854775808~9223372036854775807(-263~263-1)

无符号:0~18446744073709551615(0~264-1)

8

 

二、浮点数

float和double都可以float(m,d)和double(m,d),或者不加(m,d),m表示数字的有效位数,d表示数字的小数位数

数据类型 存储范围 字节
float(单精度) -3.40282346E+38~3.40282346E+38,精确到小数点后面8位小数 4
double(双精度) -1.7976931348623157E+308~1.7976931348623157E+308,精确到小数点后面16位小数 8

 

三、小数

decimal(m,d)依赖m和d,m表示数字的有效位数,d表示数字的小数位数,和double相比,decimal精度更高,范围更小。

数据类型 存储范围
decimal 依赖m和d值

 

四、日期时间

 

数据类型 存储范围 字节
year 1901/2155 1
time '-838:59:59'/'838:59:59' 3
date 1000-01-01/9999-12-31 3
datetime 1000-01-01 00:00:00/9999-12-31 23:59:59 8
timestamp

1970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间2038-1-19 11:14:07

格林尼治时间2038年1月19日凌晨03:14:07

4

 

五、字符

数据类型 规则
char(m) 定长字符串。m个字节,0<=m<=255。m为几,字符就多长,不够的会以空格补充。
varchar(m) 变长字符串。m个字节,0<=m<=65535。字符实际多长就是多长,不以m为标准。
tinytext 短文本字数据。0~255个字节。
text 长文本数据。0~65535个字节。
mediumtext 中等长度文本字数据。0~16777215个字节。
longtext 极大文本数据。0~4294967295个字节。
tinyblob 二进制形式的短文本数据。0~255个字节。
blob 二进制形式的长文本数据。0~65535个字节。
mediumblob 二进制形式的中等长度文本字数据。0~16777215个字节。
longblob 二进制形式的极大文本数据。0~4294967295个字节。
enum 枚举类型。enum(value1,value2,...),一个或两个字节,取决于枚举值得数量,最多65535个值,值只能是枚举中的一个值
set set(value1,value2,value3,...),最多64个值,set中的取值可以是所列出的n个值任意排列组合而成

 

posted on 2018-02-28 10:27  兴趣很重要  阅读(138)  评论(0)    收藏  举报