10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

11.1.1数字数据类型语法

对于整数数据类型,最大显示宽度。最大显示宽度为255。如中所述,显示宽度与类型可以存储的值的范围无关第11.1.6节,“数值类型属性”

对于浮点和定点数据类型,是可存储的总位数。

如果您指定补零对于数字列,MySQL自动添加无符号属性设置为列。

的数值数据类型无符号属性也允许签署。但是,这些数据类型默认签名,所以签署属性无效。

串行的别名。Bigint unsigned not null auto_increment unique

串行默认值在整数列的定义中是auto_increment不为空

警告

当你在一个类型的整数值之间使用减法时无符号,结果为无符号,除非NO_UNSIGNED_SUBTRACTION已启用SQL模式。看到第12.11节,“转换函数和操作符”

  • (()]

    一个比特值的类型。每个值的位数,取值范围是1 ~ 64。如果是,则默认为1是省略了。

  • tinyint [()(无符号)(补零)

    一个很小的整数。带符号的范围是-128年127。无符号范围是0255

  • 保龄球,布尔

    这些类型是同义词非常小的整数(1)。0的值被认为是假的。非零值被认为为真:

    mysql> SELECT IF(0, 'true', 'false');+------------------------+ | 如果(0,“真正”、“假 ') | +------------------------+ | 假  | +------------------------+ mysql >选择如果(1,“真实”,“假”);+------------------------+ | 如果(1,“真正”、“假 ') | +------------------------+ | 真正的  | +------------------------+ mysql >选择如果(2,“真实”,“假”);+------------------------+ | 如果(2,“真正”、“假 ') | +------------------------+ | 真正的  | +------------------------+

    然而,值真正的仅仅是化名10,分别如下所示:

    mysql> SELECT IF(0 = FALSE, 'true', ' FALSE ');+--------------------------------+ | 如果(0 = FALSE,“真”,“假的 ') | +--------------------------------+ | 真正的  | +--------------------------------+ mysql >选择如果(1 = TRUE,“真实”,“假”);+-------------------------------+ | 如果(1 = TRUE,“真正的”,“假的 ') | +-------------------------------+ | 真正的  | +-------------------------------+ mysql >选择如果(2 = TRUE,“真实”,“假”);+-------------------------------+ | 如果(2 = TRUE,“真实的”,“假的 ') | +-------------------------------+ | 假  | +-------------------------------+ mysql >选择如果(2 = FALSE,“真实的”,“假”);+--------------------------------+ | 如果(2 = FALSE,“真实的”,“假的 ') | +--------------------------------+ | 假  | +--------------------------------+

    最后两个语句显示了因为2两者都不相等1也不0

  • 短整型(()(无符号)(补零)

    一个小整数。带符号的范围是-3276832767。无符号范围是065535

  • MEDIUMINT [()(无符号)(补零)

    一个中等大小的整数。带符号的范围是-83886088388607。无符号范围是016777215

  • INT [()(无符号)(补零)

    把普通的整数。带符号的范围是-21474836482147483647。无符号范围是04294967295

  • 整数(()(无符号)(补零)

    是的同义词

  • 长整型数字[()(无符号)(补零)

    一个大整数。带符号的范围是-92233720368547758089223372036854775807。无符号范围是018446744073709551615

    串行的别名。Bigint unsigned not null auto_increment unique

    有些事情你应该知道关于长整型数字列:

    • 所有算术都使用签名完成长整型数字或者值,因此不应该使用大于9223372036854775807(63位)除了有位函数!如果这样做,由于转换a时的舍入错误,结果中的最后一些数字可能是错误的长整型数字价值

      MySQL可以处理长整型数字在下列情况下:

    • 控件中总是可以存储精确的整数值长整型数字列,使用字符串存储。在这种情况下,MySQL执行字符串到数字的转换,不涉及中间的双精度表示。

    • -,+,*操作人员使用长整型数字当两个操作数都是整数值时进行算术运算。这意味着如果将两个大整数相乘(或返回整数的函数的结果),当结果大于时可能会得到意外的结果9223372036854775807

  • 十进制(((,D])][无符号](补零)

    一个包装确切的定点数。是总位数(精度)和D是小数点(刻度)后的位数。小数点和(对于负数)-符号不计入。如果D为0,则值没有小数点或小数部分。最大位数()小数是65。支持的最大小数数(D)是30。如果D省略,默认为0。如果省略,默认为10。(文本的长度也有限制小数文字是什么;看到第12.22.3节,“表达式处理”。)

    无符号,如果指定,则禁止使用负数。

    所有基本计算(+, -, *, /),小数列的精度为65位。

  • 12月(((,D])][无符号](补零),数字(((,D])][无符号](补零),固定的[((,D])][无符号](补零)

    这些类型是同义词小数。的固定同义词可用于与其他数据库系统的兼容性。

  • 浮动((,D)(无符号)(补零)

    一个小(单精度)浮点数。允许的值-3.402823466 e+38-1.175494351 38吗,0,1.175494351 38吗3.402823466 e+38。这些是基于IEEE标准的理论限制。根据硬件或操作系统的不同,实际范围可能会稍微小一些。

    是数字的总数和D是小数点后面的位数。如果D被省略,值被存储到硬件允许的限制。单精度浮点数大约精确到小数点后7位。

    浮动(,D)是一个非标准的MySQL扩展。

    无符号,如果指定,则禁止使用负数。

    使用浮动可能会给你一些意想不到的问题,因为MySQL中的所有计算都是用双精度完成的。看到B.3.4.7节,“解决没有匹配行的问题”

  • 浮动(p)(无符号)(补零)

    浮点数。p表示以位为单位的精度,但是MySQL只使用这个值来决定是否使用浮动或者用于生成的数据类型。如果p是0到24,数据类型变为浮动没有或者D值。如果p从25到53,数据类型变成没有或者D值。结果柱的范围与单精度相同浮动或双精度本节前面描述的数据类型。

    浮动(p)语法是为了ODBC兼容性而提供的。

  • 双((,D)(无符号)(补零)

    正常大小(双精度)浮点数。允许的值-1.7976931348623157 e + 308-2.2250738585072014 e - 308,0,2.2250738585072014 e - 3081.7976931348623157 e + 308。这些是基于IEEE标准的理论限制。根据硬件或操作系统的不同,实际范围可能会稍微小一些。

    是数字的总数和D是小数点后面的位数。如果D被省略,值被存储到硬件允许的限制。双精度浮点数精确到大约15位小数。

    双(,D)是一个非标准的MySQL扩展。

    无符号,如果指定,则禁止使用负数。

  • 双精度((,D)(无符号)(补零),真正的((,D)(无符号)(补零)

    这些类型是同义词。例外:如果REAL_AS_FLOAT启用SQL模式,真正的是同义词吗浮动而不是