MySQL 数据类型

MySQL  数据类型

 

1、数值型

类型                    

范围、小数位数
TINYINT (-128,127)
SMALLINT 正负3w+
MEDIUMINT 正负800w+
INT 正负21亿+
BIGINT 正负900千万亿+
FLOAT  单精度 10的-38次方
DOUBLE  双精度 10的-308次方
DECIMAL 定点型(小数点 位置固定)  

 

 

 

 

 

 

 

 

整型可以指定最大位数,比如int(11),不设置则默认为可存储的最大位数

浮点型(包括decimal)可以指定精度、标度,比如double(10,2),最长10位,小数2位(超出会四舍五入)

 

 

 

2、字符串

类型 最大字节数
CHAR  定长字符串 255
VARCHAR  变长字符串 6w+
TINYTEXT 255
TEXT 6w+
MEDIUMTEXT 1千万+
LONGTEXT 42亿+
   
TINYBLOB  二进制 255
BLOB 6w+
MEDIUMBLOB 1千万+
LONGBLOB 42亿+

 

 

 

 

 

 

 

 

char  定长字符串,比如char(10),不够10个字符,自动在后面补空格

varchar  可变字符串,字符串长度可变、不固定,比如varchar(10),最多10个字符

二进制数据是以二进制字符串的形式存储的

 

 

 

3、日期时间

类型                                                                               能表示的时间范围
YEAR  yyyy 1901 至 2155
DATE  yyyy-MM-dd 1000-01-01  至  9999-12-31
TIME  hh:mm:ss  
DATETIME  yy-MM-dd hh:mm:ss       1000-01-01 00:00:00  至  9999-12-31 23:59:59
TIMESTAMP  时间戳

1970-01-01 00:00:00 至  2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

 

 

 

 

 

 

 

时间日期列的值都要引起来,单引、双引均可

虽然timestamp叫做时间戳,但值是yyyy-mm-dd hh:mm:ss的格式,示例:insert into tb_user (birthday) values ("2019-02-02 09:02:20");  查询到的也是这种格式

timestamp默认单位秒