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字节 |
标签:浮点,数据类型,长串,数值,常见字,UNSIGNED,长度,速查,255
来源: https://www.cnblogs.com/jielearscoding/p/12891295.html