1、整型
类型 |
大小 |
范围(有符号) |
范围(无符号) |
用途 |
tinyint |
1 字节 |
(-128,127) |
(0,255) |
小整数值 |
smallint |
2 字节 |
(-32 768,32 767) |
(0,65 535) |
大整数值 |
mediumint |
3 字节 |
(-8 388 608,8 388 607) |
(0,16 777 215) |
大整数值 |
int或integer |
4 字节 |
(-2 147 483 648,2 147 483 647) |
(0,4 294 967 295) |
大整数值 |
bigint |
8 字节 |
(-9 233 372 036 854 775 808,9 223 372 036 854 775 807) |
(0,18 446 744 073 709 551 615) |
极大整数值 |
在mysql中数字数据类型是有符号和无符号两种,当然整型也是,
---------------例如:age tinyint unsigned,
------------------------unsigned代表是无符号,即都是大与等于0 的数
-------------------------如果这样使用是默认有符号的
-------------------------------age tinyint ,
2、小数型
float |
4 字节 |
(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) |
0,(1.175 494 351 E-38,3.402 823 466 E+38) |
单精度 |
double |
8 字节 |
(1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) |
0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) |
双精度 |
decimal |
对decimal(M,D) ,如果M>D,为M+2否则为D+2 |
依赖于M和D的值 |
依赖于M和D的值 |
定点小数值 |
float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,float和double都是浮点型,而decimal是定点型;
小数型:
MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的 可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。
FLOAT和DOUBLE在不指 定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。
CREATE TABLE test1(aa FLOAT(5,2) DEFAULT NULL,bb DOUBLE(5,2)DEFAULT NULL,cc DECIMAL(5,2) DEFAULT NULL);
INSERT INTO test1(aa,bb,cc) VALUES(1.23,1.23,1.23);
select * from test1 ;
INSERT INTO test1(aa,bb,cc) VALUES(1.234,1.235,1.235);
对数据求SUM()时会出现不同的结果,float和double求SUM都会出现很多小数点,而decimal求SUM得到的是精准数值:
3、字符型
类型 |
大小 |
用途 |
CHAR |
0-255字符 |
定长字符串 |
VARCHAR |
0-65535 字符 |
变长字符串 |
TINYBLOB |
0-255字符 |
不超过 255 个字符的二进制字符串 |
TINYTEXT |
0-255字符 |
短文本字符串 |
BLOB |
0-65 535字符 |
二进制形式的长文本数据 |
TEXT |
0-65 535字符 |
长文本数据 |
MEDIUMBLOB |
0-16 777 215字符 |
二进制形式的中等长度文本数据 |
MEDIUMTEXT |
0-16 777 215字符 |
中等长度文本数据 |
LONGBLOB |
0-4 294 967 295字符 |
二进制形式的极大文本数据 |
LONGTEXT |
0-4 294 967 295字符 |
极大文本数据 |
注意:char与varchar后面接的数据大小为存储的字符数,而不是字节数
4、日期时间型