mysql字段类型有哪些?mysql字段类型说明

发布时间:2020-09-26编辑:脚本学堂
有关mysql字段类型的基础知识,包括数字列类型、日期和时间列类型、字符串列类型等,需要的朋友参考下。

mysql的列类型主要有:数字、字串和日期。

1,数字列类型

数字列类型用于储存各种数字数据,如价格、年龄或者数量。数字列类型主要分为两种:整数型和浮点型。所有的数字列类型都允许有两个选项:unsigned和zerofill。选择unsigned的列不允许有负数,选择了zerofill的列会为数值添加零。下面是mysql中可用的数字列类型
tinyint——一个微小的整数,支持 -128到127(signed),0到255(unsigned),需要1个字节存储
bit——同tinyint(1)
bool——同tinyint(1)
smallint——一个小整数,支持 -32768到32767(signed),0到65535(unsigned),需要2个字节存储 mediumint——一个中等整数,支持 -8388608到8388607(signed),0到16777215(unsigned),需要3个字节存储
int——一个整数,支持 -2147493648到2147493647(signed),0到4294967295(unsigned),需要4个字节存储
integer——同int
bigint——一个大整数,支持 -9223372036854775808到9223372036854775807(signed),0到18446744073709551615(unsigned),需要8个字节存储
float(precision)——一个浮点数。precision<=24用于单精度浮点数;precision在25和53之间,用于又精度浮点数。float(x)与相诮的float和double类型有差相同的范围,但是没有定义显示尺寸和小数位数。在mysql3.23之前,这不是一个真的浮点值,且总是有两位小数。mysql中的所有计算都用双精度,所以这会带来一些意想不到的问题。
float——一个小的菜单精度浮点数。支持 -3.402823466e+38到-1.175494351e-38,0和1.175494351e-38 to 3.402823466e+38,需要4个字节存储。如果是unsigned,正数的范围保持不变,但负数是不允许的。
double——一个双精度浮点数。支持 -1.7976931348623157e+308到-2.2250738585072014e-308,0和2.2250738585072014e-308到1.7976931348623157e+308。如果是float,unsigned不会改变正数范围,但负数是不允许的。
double precision——同double
real——同double
decimal——将一个数像字符串那样存储,每个字符占一个字节
dec——同decimal
numeric——同decimal

2,字符串列类型

字符串列类型用于存储任何类型的字符数据,如名字、地址或者报纸文章。下面是mysql中可用的字符串列类型
char——字符。固定长度的字串,在右边补齐空格,达到指定的长度。支持从0到155个字符。搜索值时,后缀的空格将被删除。
varchar——可变长的字符。一个可变长度的字串,其中的后缀空格在存储值时被删除。支持从0到255字符
tinyblob——微小的二进制对象。支持255个字符。需要长度+1字节的存储。与tinytext一样,只不过搜索时是区分大小写的。(0.25kb)
tinytext——支持255个字符。要求长度+1字节的存储。与tinyblob一样,只不过搜索时会忽略大小写。(0.25kb)
blob——二进制对象。支持65535个字符。需要长度+2字节的存储。 (64kb)
text——支持65535个字符。要求长度+2字节的存储。 (64kb)
mediumblob——中等大小的二进制对象。支持16777215个字符。需要长度+3字节的存储。 (16m)
mediumtext——支持16777215个字符。需要长度+3字节的存储。 (16m)
longblob——大的的二进制对象。支持4294967295个字符。需要长度+4字节的存储。 (4g)
longtext——支持4294967295个字符。需要长度+4字节的存储。(4g)
enum——枚举。只能有一个指定的值,即null或"",最大有65535个值
set——一个集合。可以有0到64个值,均来自于指定清单

3,日期和时间列类型

日期和时间列类型用于处理时间数据,可以存储当日的时间或出生日期这样的数据。格式的规定:y表示年、m(前m)表示月、d表示日、h表示小时、m(后m)表示分钟、s表示秒。下面是mysql中可用的日期和时间列类型
datetime——格式:'yyyy-mm-dd hh:mm:ss',范围:'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
date——格式:'yyyy-mm-dd',范围:'1000-01-01'到'9999-12-31'
timestamp——格式:'yyyymmddhhmmss'、'yymmddhhmmss'、'yyyymmdd'、'yymmdd',范围:'1970-01-01 00:00:00'到'2037-01-01 00:00:00'
time——格式:'hh:mm:ss'
year——格式:'yyyy,范围:'1901'到'2155'