当前位置: 首页 > news >正文

Mysql 数据类型

1、数值数据类型

1.1 整数类型(精确值)

INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT

MySQL支持SQL标准的整数类型INTEGER (或INT)和SMALLINT。作为标准的扩展,MySQL还支持整数类型TINYINTMEDIUMINTBIGINT。下表显示了每种整数类型所需的存储和范围。

在这里插入图片描述

1.2 定点类型(精确值)

DECIMAL, NUMERIC

DECIMALNUMERIC类型存储精确的数值数据值。当需要保持精确的精确度(exact precision)时,例如货币数据,就会使用这些类型。在MySQL中,NUMERIC被实现为DECIMAL,因此下面关于DECIMAL的说明同样适用于NUMERIC

DECIMAL列声明中,可以(通常是)指定精度和比例。例如:

salary DECIMAL(5,2)

在本例中,5是精度(precision),2是刻度(scale)。精度表示为值存储的有效位数(significant digits),刻度表示可以在小数点后存储的位数。

标准SQL要求DECIMAL(5,2)能够存储5位数字和2位小数的任何值,因此可以存储在salary列中的值范围为-999.99到999.99。

在标准SQL中,DECIMAL(M)语法等价于DECIMAL(M,0)。类似地,DECIMAL语法等价于DECIMAL(M,0),其中允许实现决定M的值。MySQL支持这两种不同形式的DECIMAL语法。M的缺省值为10。

如果刻度为0,则DECIMAL值不包含小数点或小数部分。

DECIMAL的最大位数是65,但是给定DECIMAL列的实际范围可以受到给定列的精度或scale 的限制。如果为此类列分配的值的小数点后的数字多于指定刻度所允许的数字,则该值将转换为该刻度。(精确的行为是特定于操作系统的,但通常效果是截断到允许的位数。)

1.3 浮点类型(近似值)

FLOAT, DOUBLE

FLOATDOUBLE类型表示近似的数值数据值。MySQL使用4个字节作为单精度值,8个字节用于双精度值。

对于FLOAT, SQL标准允许精度(precision )的可选规范(但不允许指数(exponent)的范围)在关键字FLOAT后面的括号中,即FLOAT(p)。MySQL也支持这个可选的精度规范,但FLOAT§中的精度值仅用于确定存储大小。精度从0到23会产生一个4字节的单精度FLOAT列。精度从24到53会产生一个8字节的双精度DOUBLE列。

MySQL允许使用非标准语法:FLOAT(M,D)REAL(M,D)DOUBLE PRECISION(M,D)。这里,(M,D)表示这些值总共可以存储M位,其中可以在小数点后D位。例如,定义为FLOAT(7,4)的列显示为-999.9999。MySQL在存储值时执行舍入,因此如果将999.00009插入FLOAT(7,4)列,近似结果为999.0001。

从MySQL 8.0.17开始,非标准的FLOAT(M,D)和DOUBLE(M,D)语法已经弃用,你应该可以期待在MySQL的未来版本中对它的支持被移除。

由于浮点值是近似值,而不是存储为精确值,因此在比较中试图将它们视为精确值可能会导致问题。它们还受平台或实现依赖关系的制约。有关更多信息,请参见B.3.4.8节“浮点值的问题”。

为了获得最大的可移植性,需要存储近似数值数据值的代码应该使用FLOATDOUBLE PRECISION,而不需要指定精度或位数。

相关文章:

  • 尚医通(八) Nginx
  • npoi word 里面厂家操作
  • 若依框架---分页功能
  • ESP8266 + STC15基于AT指令通过TCP通讯协议控制IO状态
  • 【H5】html实现微信授权登陆
  • Lesson 6.3 正则化与 sklearn 逻辑回归参数详解
  • 【C语言】指针基础(详细知识梳理)
  • 二叉搜索树——BinarySearchTree
  • 【Python】Numpy数值积分
  • 【Spring】Bean的生命周期详解
  • 【虚拟仿真】Unity3D中实现InputField组件表格Tab或者Enter换行实现
  • 【微服务】ES使用实战·黑马旅游(五)
  • JavaScript(三)-全面详解(学习总结---从入门到深化)
  • Windows Server 2022 Install Sql Server 2022
  • Openharmony的用户态应用通过HDF框架驱动消息机制实现的通信实例
  • 程序员为什么要写技术博客?都在哪些平台呢?
  • OpenStack haproxy Statistics Report统计报告怎么在哪里,haproxy Dashboard怎么打开
  • python GUI(Tkinter)
  • 【自学Python】Python字符串首字母大写
  • Java文档搜索引擎
  • 管理规模归零,华夏基金“ETF规模一哥”张弘弢清仓卸任所有产品
  • 黄金投资热,成了“财富焦虑”的贩卖场
  • 汕头22岁女子手术成功却意外脑死亡,家属称缺氧30分钟医生未发觉
  • 龚桢梽任广东省发展和改革委员会副主任
  • 遇见古籍里的先贤,山西博物院“晋国垂棘”明日开展
  • 杜志龙任榆林市府谷县委书记