MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式。 由MySQL支持的列类型列在下面。下列代码字母用于描述中: M

指出最大的显示尺寸。最大的合法的显示尺寸是 255 。

D

适用于浮点类型并且指出跟随在十进制小数点后的数码的数量。最大可能的值是30,但是应该不大于M-2。

方括号(“[”和“]”)指出可选的类型修饰符的部分。 注意,如果你指定一个了为ZEROFILL,MySQL将为该列自动地增加UNSIGNED属性。 TINYINT[(M)] [UNSIGNED] [ZEROFILL]

一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255。

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。 MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。 INT[(M)] [UNSIGNED] [ZEROFILL]

一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。 INTEGER[(M)] [UNSIGNED] [ZEROFILL]

这是INT的一个同义词。 BIGINT[(M)] [UNSIGNED] [ZEROFILL] 一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到 18446744073709551615。注意,所有算术运算用有符号的BIGINT或DOUBLE值完成,因此你不应该使用大于9223372036854775807(63位)的有符号大整数,除了位函数!注意,当两个参数是INTEGER值时,-、+和*将使用BIGINT运算!这意味着如果你乘2个大整数(或来自于返回整数的函数),如果结果大于9223372036854775807,你可以得到意外的结果。一个浮点数字,不能是无符号的,对一个单精度浮点数,其精度可以是<= 24,对一个双精度浮点数,是在25 和53之间,这些类型如FLOAT和DOUBLE类型马上在下面描述。FLOAT(X)有对应的FLOAT和DOUBLE相同的范围,但是显示尺寸和小数位数是未定义的。在MySQL3.23中,这是一个真正的浮点值。在更早的MySQL版本中,FLOAT(precision)总是有2位小数。该句法为了ODBC兼容性而提供。 FLOAT[(M,D)] [ZEROFILL]

一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。M是显示宽度而D是小数的位数。没有参数的FLOAT或有<24 的一个参数表示一个单精密浮点数字。 DOUBLE[(M,D)] [ZEROFILL]

一个正常大小(双精密)浮点数字。不能无符号。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是显示宽度而D是小数位数。没有一个参数的 DOUBLE或FLOAT(X)(25

REAL[(M,D)] [ZEROFILL]

这些是DOUBLE同义词。 DECIMAL[(M[,D])] [ZEROFILL]

一个未压缩(unpack)的浮点数字。不能无符号。行为如同一个CHAR列:“未压缩”意味着数字作为一个字符串被存储,值的每一位使用一个字符。小数点,并且对于负数,“-”符号不在M中计算。如果D是0,值将没有小数点或小数部分。DECIMAL值的最大范围与DOUBLE相同,但是对一个给定的 DECIMAL列,实际的范围可以通过M和D的选择被限制。如果D被省略,它被设置为0。如果M被省掉,它被设置为10。注意,在MySQL3.22里, M参数包括符号和小数点。 NUMERIC(M,D) [ZEROFILL]

这是DECIMAL的一个同义词。 DATE

一个日期。支持的范围是"1000-01-01"到"9999-12-31"。MySQL以"YYYY-MM-DD"格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列。 注:赋初值可在PHP中使用now()。 DATETIME

一个日期和时间组合。支持的范围是"1000-01-01 00:00:00"到"9999-12-31 23:59:59"。MySQL以"YYYY-MM-DD HH:MM:SS"格式来显示DATETIME值,但是允许你使用字符串或数字把值赋给DATETIME的列。 TIMESTAMP[(M)]

一个时间戳记。范围是"1970-01-01 00:00:00"到2037年的某时。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式来显示TIMESTAMP值,取决于是否M是14(或省略)、12、8或6,但是允许你使用字符串或数字把值赋给TIMESTAMP列。一个 TIMESTAMP列对于记录一个INSERT或UPDATE操作的日期和时间是有用的,因为如果你不自己给它赋值,它自动地被设置为最近操作的日期和时间。你以可以通过赋给它一个NULL值设置它为当前的日期和时间。

TIME

一个时间。范围是"-838:59:59"到"838:59:59"。MySQL以"HH:MM:SS"格式来显示TIME值,但是允许你使用字符串或数字把值赋给TIME列。 YEAR[(2|4)]

一个2或4位数字格式的年(缺省是4位)。允许的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)。MySQL以YYYY格式来显示YEAR值,但是允许你把使用字符串或数字值赋给YEAR列。(YEAR类型在MySQL3.22中是新类型。) CHAR(M) [BINARY]

一个定长字符串,当存储时,总是是用空格填满右边到指定的长度。M的范围是1 ~ 255个字符。当值被检索时,空格尾部被删除。CHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式来定义CHAR列应该使用缺省字符集。这是MySQL的缺省。CHAR是CHARACTER的一个缩写。 [NATIONAL] VARCHAR(M) [BINARY]

一个变长字符串。注意:当值被存储时,尾部的空格被删除(这不同于ANSI SQL规范)。M的范围是1 ~ 255个字符。 VARCHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词值。 VARCHAR是CHARACTER VARYING一个缩写。 TINYBLOB

TINYTEXT

一个BLOB或TEXT列,最大长度为255(2^8-1)个字符。 BLOB

用于处理二进制文件,上传文件可以用到。 TEXT

一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。 MEDIUMBLOB

MEDIUMTEXT

一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。

LONGBLOB

LONGTEXT

一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。 ENUM("value1","value2",...)

枚举。一个仅有一个值的字符串对象,这个值式选自与值列表"value1"、"value2", ...,或NULL。一个ENUM最多能有65535不同的值。 SET("value1","value2",...)

一个集合。能有零个或多个值的一个字符串对象,其中每一个必须从值列表"value1", "value2", ...选出。一个SET最多能有64个成员。

mysql字段说明_mysql 字段类型说明相关推荐

  1. mysql完整字段包括_MySQL字段类型最全解析

    前言: 要了解一个数据库,我们必须了解其支持的数据类型.MySQL 支持大量的字段类型,其中常用的也有很多.前面文章我们也讲过 int 及 varchar 类型的用法,但一直没有全面讲过字段类型,本篇 ...

  2. mysql double 使用_mysql double类型使用与主键自增

    MySQL设置自增字段的相关语句: alter table album change ALBUM_ID ALBUM_ID bigint not null auto_increment; alter t ...

  3. mysql基本数据长度_MySQL的类型与数据长度

    之前遇到一个问题"怎么评估一行MySQL记录占据了多少字节?".自己当时也不是特别清楚.当时只是简单的知道,具体的长度跟编码相关.前几天系统研究了一下MySQL中的编码问题,铺垫已 ...

  4. mysql fulltext 排序_mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的区别

    Normal 普通索引 > 表示普通索引,大多数情况下都可以使用 Unique 唯一索引 > 表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uni ...

  5. mysql decimal长度_mysql decimal类型与decimal长度用法详解

    以下内容转自:http://blog.csdn.net/zhanghao143lina/article/details/53816884 三者的区别介绍 float:浮点型,含字节数为4,32bit, ...

  6. mysql 字段字节_MySql字段类型及字节

    字段类型: TINYINT-----------------一个很小的整数.有符号的范围是-128到127,无符号的范围是0到255. SMALLINT--------------一个小整数.有符号的 ...

  7. mysql mediumint 长度_mysql字段类型tinyint、smallint、mediumint、int、bigint详解

    mysql建模的过程中,对于优化来讲一个非常重要的点就是字段类型的设置,好的字段类型的设置可以帮助更快的查询数据同时能节约硬盘空间,这对于优化数据库来讲是非常重要的. mysql的字段类型大体来讲分为 ...

  8. mysql之设置字段分隔符_mysql字段中使用逗号分隔符

    被分割的字段一定是有限而且数量较少的,我们不可能在一个字符串中存储无限多个字符 这个字段所属的表与这个字段关联的表,一定是一对多的关系 比如下面这个表结构所代表的content与tag这两个对象 代码 ...

  9. mysql 结果字段截取_mysql字段截取(转)

    函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...

最新文章

  1. java web接收POST数据
  2. JavaScript MSN 弹出消息框
  3. 【剑指offer】面试题63:股票的最大利润(Java)
  4. mdm.Dialogs.promptModal()使用
  5. 浅谈信息安全及解决方案
  6. 如何判定选择的日期与当前日期的前后关系
  7. FastDFS启动报错
  8. 客观评价golang的优缺点
  9. 神奇!只用标签名称就可以做文本分类
  10. Atitit.android webview h5运行环境总结
  11. 几行代码就能实现为何要多此一举
  12. 腔体缝隙天线[搬运]
  13. Log4j配置详解,太详细了。
  14. xs2鸿蒙系统,华为Mate XS2来了,搭载麒麟9000,依旧安卓10版本
  15. 小心!第三方支付最常遇到的 6 大骗局!
  16. COSMOS认证咨询,Cosmo-天然产品标准以及Cosmo有机产品标准分为哪几大类
  17. 联想拯救者Y7000系列黑苹果MacOS 12.3.1 Monterey详细安装教程记录
  18. echarts上加横线标线_Echarts地图添加引导线效果(labelLine)
  19. 计算机毕业设计Java城市出行行程智能推荐系统(源码+系统+mysql数据库+lw文档)
  20. ElementUI 树形结构默认展示某个节点

热门文章

  1. android拨打电话
  2. (收藏)Turbo C 2.0、Borland C++库函数及用例
  3. 五一快到了,我也该走了
  4. LeetCode Algorithm 876. 链表的中间结点
  5. 2018第九届蓝桥杯C/C++ B国赛 —— 第四题:调手表
  6. 征战蓝桥 —— 2016年第七届 —— C/C++A组第2题——生日蜡烛
  7. 如何测试大端存储和小端存储
  8. 【ARM】异常产生指令
  9. 【Linux】一步一步学Linux——sort命令(53)
  10. oxford5k和paris6k数据集介绍_sklearn函数:KFold(分割训练集和测试集)