mysql 字段类型详解

Posted 水月情缘雪飞飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 字段类型详解相关的知识,希望对你有一定的参考价值。

INT   4 字节整数,有符号范围从 -2147483648 到 2147483647,无符号范围从 0 到 4294967295
VARCHAR    变长(0-65,535)字符串,最大有效长度取决于最大行大小
TEXT   最多存储 65535(2^16 - 1)字节的文本字段,存储时在内容前使用 2 字节表示内容的字节数
DATE   日期,支持的范围从 1000-01-01 到 9999-12-31


/* 数字 */
   TINYINT        1 字节整数,有符号范围从 -128 到 127,无符号范围从 0 到 255
   SMALLINT     2 字节整数,有符号范围从 -32768 到 32767,无符号范围从 0 到 65535
   MEDIUMINT  3 字节整数,有符号范围从 -8388608 到 8388607,无符号范围从 0 到 16777215
   INT   4 字节整数,有符号范围从 -2147483648 到 2147483647,无符号范围从 0 到 4294967295
   BIGINT   8 字节整数,有符号范围从 -9223372036854775808 到 9223372036854775807,无符号范围从 0 到 18446744073709551615


   DECIMAL  定点数(M,D)- 整数部分(M)最大为 65(默认 10),小数部分(D)最大为 30(默认 0)
   FLOAT   单精度浮点数,取值范围从 -3.402823466E+38 到 -1.175494351E-38、0 以及从 1.175494351E-38 到 3.402823466E+38
   DOUBLE  双精度浮点数,取值范围从 -1.7976931348623157E+308 到 -2.2250738585072014E-308、0 以及从 2.2250738585072014E-308 到 1.7976931348623157E+308


   REAL  DOUBLE 的别名(例外:REAL_AS_FLOAT SQL 模式时它是 FLOAT 的别名)


   BIT  位类型(M),每个值存储 M 位(默认为 1,最大为 64)
   BOOLEAN  TINYINT(1) 的别名,零值表示假,非零值表示真
   SERIAL  BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE 的别名




/* 日期与时间 */
     DATE  日期,支持的范围从 1000-01-01 到 9999-12-31
     DATETIME  日期与时间,支持的范围从 1000-01-01 00:00:00 到 9999-12-31 23:59:59
     TIMESTAMP  时间戳,范围从 1970-01-01 00:00:01 UTC 到 2038-01-09 03:14:07 UTC,存储为自纪元(1970-01-01 00:00:00 UTC)起的秒数


     TIME   时间,范围从 -838:59:59 到 838:59:59
     YEAR  四位数(4,默认)或两位数(2)的年份,取值范围从 70(1970)到 69(2069)或从 1901 到 2155 以及 0000



/* 文本 */
   CHAR  定长(0-255,默认 1)字符串,存储时会向右边补足空格到指定长度
   VARCHAR  变长(0-65,535)字符串,最大有效长度取决于最大行大小
   TINYTEXT  最多存储 255(2^8 - 1)字节的文本字段,存储时在内容前使用 1 字节表示内容的字节数
   TEXT  最多存储 65535(2^16 - 1)字节的文本字段,存储时在内容前使用 2 字节表示内容的字节数
   MEDIUMTEXT  最多存储 16777215(2^24 - 1)字节的文本字段,存储时在内容前使用 3 字节表示内容的字节数
   LONGTEXT  最多存储 4294967295 字节即 4GB(2^32 - 1)的文本字段,存储时在内容前使用 4 字节表示内容的字节数


   BINARY  类似于 CHAR 类型,但其存储的是二进制字节串而不是非二进制字符串
   VARBINARY  类似于 VARCHAR 类型,但其存储的是二进制字节串而不是非二进制字符串


   TINYBLOB  最多存储 255(2^8 - 1)字节的 BLOB 字段,存储时在内容前使用 1 字节表示内容的字节数
   MEDIUMBLOB  最多存储 16777215(2^24 - 1)字节的 BLOB 字段,存储时在内容前使用 3 字节表示内容的字节数
   BLOB   最多存储 65535(2^16 - 1)字节的 BLOB 字段,存储时在内容前使用 2 字节表示内容的字节数
   LONGBLOB   最多存储 4294967295 字节即 4GB(2^32 - 1)的 BLOB 字段,存储时在内容前使用 4 字节表示内容的字节数


   ENUM  枚举,可从最多 65535 个值的列表中选择或特殊的错误值 ''
   SET  可从最多 64 个成员中选择集合为一个值




/* 空间 */

   GEOMETRY  一种能存储任意类型几何体的类型
   POINT  二维空间中的点
   LINESTRING  点之间的线性插值曲线
   POLYGON  多边形
   MULTIPOINT   点的集合
   MULTILINESTRING  点之间的线性插值曲线的集合
   MULTIPOLYGON   多边形的集合
   GEOMETRYCOLLECTION  任意类型几何体对象的集合

以上是关于mysql 字段类型详解的主要内容,如果未能解决你的问题,请参考以下文章

Mysql的数据类型和字段类型详解

Mysql的数据类型和字段类型详解

MYSQL字段数据类型详解

mysql 字段类型详解

大数据开发:关于MYSQL存储引擎详解

mysql覆盖索引详解——like模糊全匹配中使用索引