Mysql数据类型

数据类型


数值类型:tinyint、smallint、mediumint、int、bigint、float、double、decimal
日期时间类型:year、time、datetime、date、timestamp
字符串类型:char、varchar、binary、varbinary、blob、text、enum、set

显示宽度


显示宽度只用于显示,tinyint(4)的显示宽度为4,占用1个字节的存储空间,取值范围为:-128~127。
当设置zerofill时,显示宽度用于格式化数据。例如:
create table t_test (iorder tinyint(4) zerofill); insert into t_test(iorder) values(1),(111); select iorder from t_test;
结果为:0001,0111。

整数


tinyint(1字节)、smallint(2字节)、mediumint(3字节)、int(4字节)、bigint(8字节)

浮点数和定点数


float(4字节)、double(8字节)、decimal(精度+2字节)
定点数以字符串形式存储,精度要求高时,使用定点数,例如:货币。浮点数在加减、比较运算时容易出问题。在长度一定时,浮点数能表示更大的数据范围。

日期时间


 year(1字节)、time(3字节)、date(3字节)、datetime(8字节)、timestamp(4字节)

char & varchar


 MyIASM引擎使用char可使表静态化,效率更高;InnoDB使用varchar比较节省空间,更合适。

Blob & text


 Blob存储二进制字符串,text存放非二进制字符串。Blob适用图片、音频,text适用纯文本。

原文地址:https://www.cnblogs.com/jonathanzhao/p/4992640.html