引言


数值类型

  • TINYINT:大小(1byte),范围(有符号为-128到127,无符号为0到255),用于小整数值,对应于java中的Byte类型;
  • SMALLINT:大小(2byte),范围(有符号为-32768到32767,无符号为0到65535),用于大整数值,对应于java中的Short类型;
  • MEDIUMINT:大小(3byte),范围(有符号为-8388608到8388607,无符号为0到65535),用于大整数值,对应于java中的Integer类型
  • INT或INTEGER:大小(4byte),范围(有符号为-2147483648到2147483647,无符号为0到4294967295),用于大整数值,也对应于java中的Integer类型
  • BIGINT:大小(8字节),范围(有符号为-9223372036854775808到9223372036854775807,无符号为0到18446744073709551615),用于极大整数值,对应于java中的Long类型
  • 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~18446744073709551615),用于单精度浮点值,对应于java中的Float类型
  • 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)),用于双精度浮点值,对应于java中的Double类型;
  • DECIMAL:大小(对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2),范围(依赖于M和D的值),用于小数值,尤其用于金融相关,对应于java中的Long类型;

日期和时间类型

  • DATE:大小(3byte),范围(1000-01-01到9999-12-31),格式(YYYY-MM-DD),用于日期值;
  • TIME:大小(3byte),范围(-838:59:59到838:59:59),格式(HH:MM:SS),用于连续时间;
  • TIMESTAMP:大小(4byte),范围(1970-01-01 00:00:00/2038,结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07),格式(YYYY-MM-DD HH:MM:SS),用于混合日期和时间值
  • DATETIME:大小(8byte),范围(1000-01-01 00:00:00到9999-12-31 23:59:59),格式(YYYY-MM-DD HH:MM:SS),也用于混合日期+时间值

字符串类型

  • CHAR(n):大小(0~255 byte,注意定义时指定的n为字符数,而不是字节数),用于定长字符串;
  • VARCHAR(n):大小(0~65535 byte,n也是指的字符数),用于变长字符串;
  • TINYBLOB:大小(0~255 byte),用于不超过 255 个字符的二进制字符串;
  • BLOB:大小(0~65535 bytes),用于二进制形式的长文本数据;
  • MEDIUMBLOB:大小(0~16777215 bytes),用于二进制形式的中等长度文本数据;
  • LONGBLOB:大小(0~4294967295 bytes),用于二进制形式的极大文本数据;
  • TINYTEXT:大小(0~255 bytes),用于短文本字符串;
  • TEXT:大小(0-65 535 bytes),用于长文本数据
  • MEDIUMTEXT:大小(0~16777215 bytes),用于中等长度文本字数据;
  • LONGTEXT:(0~4294967295 bytes),用于极大文本数据(足够足够大了,再长的文本数据也基本上够你用了);

  • 对了,还有一个BIT布尔类型,对应于java中的Boolean类型

MySQL数据类型笔记-LMLPHP

Reference

[1] https://www.runoob.com/mysql/mysql-data-types.html
[2] https://blog.csdn.net/qq_30046617/article/details/93380630

05-10 12:46