这些MySQL数据类型你知道吗?

MySQL支持的数据类型

MySQL支持所有标准的SQL数据类型包括严格数据类型(如integer、smallint、decimal、numberic)、近似数值类型(如float、real、double presision)
作为SQL标准的扩展,MySQL也支持整数类型(tinyint、mediumint、bigint)

1、数值类型

数据类型 字节数
tinyint 1
smallint 2
mediumint 3
int / integer 4
bigint 8
float 4
double 8
decimal(M,D) 变长,整数部分和小数部分分开计算

2、字符串类型

8种基本的字符串类型char、varchar、binary、varbinary、blob、text、set类型

数据类型 字节数 类型描述
char 0~255 定长字符串
varchar 0~65535 可变长字符串
tinyblob 0~255 不超过255个字符的二进制字符串
tinytext 0~255 短文本字符串
blob 0~65535 二进制形式的长文本数据
text 0~65535 长文本数据
mediumblob 0~16777215 二进制形式的中等长度文本数据
mediumtext 0~16777215 中等长度文本数据
longblob 0~4294967295 二进制形式的极大文本数据
longtext 0~4294967295 极大文本数据
varbinary(m) 0~m 允许0~m个字节的变长字节字符集
binary (m) 0~m 允许0~m个字节的变长字节字符集

3、日期和时间类型

数据类型 字节数 取值范围 日期格式 零值
year 1 1901~2155 YYYY 0000
date 4 1000-01-01~9999-12-31 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 4 1970-01-01 00:00:01~2038-01-19 03:14:07 YYYY-MM-DD HH:MM:SS 0000-00-00 00:00:00

每种日期和时间类型都有一个有效范围,如果插入的值超过这个范围,系统会报错,并将0值插入到数据库中,不同日期和时间类型有不同的零值。

你可能感兴趣的:(mysql,数据库)