mysql常见字段数据类型速查

 
1.串型:可变长串和不可变长串
 
  对于变长串来说,输入什么数据就在数据库里存储什么数据(前提是输入的数据不能大于定义时规定的长度),而对于定长串来说,不足的部分会补上空格。我们可以用trim()去掉这些空格。定长串就像是提前分配好了内存,而不定长串则是动态的分配,定长串的效率要高一些,变长串的要计算串的长度和其他的中间过程,效率会低一些。
 
char 1~255个字符的定长串。它的长度必须在创建时指定,如char(50), 否则 MySQL假定为CHAR(1)
varchar 最多不超过255字节。如果在创建时指定为 VARCHAR(n),则 可存储0到n个字符
text 最大长度为64KB的变长文本
tinytext 最大长度为255B的变长文本
longtext 与text相同,但最大长度为4GB
mediumtext 与text相同,但最大长度为 16 K
 
数值型:
  你可能会认为电话号码和邮政编码应该存储在数值型字段中, 但是, 这样做却是不可取的。 如果在数值字段中存储邮政编码 01234, 则保存的将是数值1234, 实际上丢失了一位数字。 需要遵守的基本规则是: 如果数值是计算( 求和、 平均 等) 中使用的数值, 则应该使用数值型。 否则应该使用串型。
 
bit 1 ~ 64 位。 在 MySQL 5 之前, BIT 在 功能上 等价 于 TINYINT
bigint  BIGINT 整 数值, 支持 − 9223372036854775808 ~ 9223372036854775807( 如果 是 UNSIGNED, 为 0 ~ 18446744073709551615) 的 数
int
INT( 或 INTEGER) 整数值, 支持 − 2147483648 ~ 2147483647( 如果 是 UNSIGNED, 为 0 ~ 4294967295)的数
tinyint TINYINT 整数值, 支持 − 128 ~ 127( 如果 为 UNSIGNED, 为 0 ~ 255) 的 数
smallint SMALLINT 整 数值, 支持 − 32768 ~ 32767( 如果 是 UNSIGNED, 为 0 ~ 65535) 的 数
mediumint MEDIUMINT 整 数值, 支持 − 8388608 ~ 8388607( 如果 是 UNSIGNED, 为 0 ~ 16777215) 的 数
boolean BOOLEAN( 或 BOOL) 布尔 标志, 或者 为 0 或者 为 1, 主要 用于 开/ 关( on/ off) 标志
decimal DECIMAL( 或 DEC)精度可变的浮点 值,decimal(8,2)
double DOUBLE双精度浮点值
float 单 精度 浮点 值
 real  REAL 4 字节 的 浮点 值
 
 
 
 
 时间:
date 日期,表示 1000- 01- 01 ~ 9999- 12- 31 的 日期, 格式 为 YYYY- MM- DD, 实际上是这种类型的字符串
time 时间,格式为h:m:s
datetime date和time的组合, "2019-2-1 3:3:1"
timestamp 功能和DATETIME 相同( 但 范围 较小)
year
用 2 位数字表示, 范围是70( 1970 年) ~ 69( 2069 年), 用 4 位数字表示,范围是 1901 年 ~ 2155 年 
 
 
 
 
二进制:

  一些音频图片都是二进制的数据流,可以保存在数据库中, 一般是将其保存在磁盘中,数据库中保存文件名称。
blob 最大长度为64KB
mediumblob 最大长度为16MB
longblob 最大长度4GB
tinyblob 最大长度为255字节
posted @ 2020-05-14 20:46  FizzPu  阅读(229)  评论(0编辑  收藏  举报