Mysql 数据类型

news2024/11/28 11:49:21

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,而不需要指定精度或位数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

13.计算机视觉

13.计算机视觉 目录 图像增广 常用的图像增广方法 翻转和裁剪改变颜色结合多种图像增广方法 使用图像增广进行训练 多GPU训练 总结 微调 步骤 热狗识别获取数据集定义和初始化模型微调模型 总结 目标检测和边界框 边界框总结 目标检测数据集 下载数据集读取数据集演示总结 锚…

【3】深度学习之Pytorch——如何使用张量处理表格数据集(葡萄酒数据集)

张量是PyTorch中数据的基础。神经网络将张量输入并产生张量作为输出,实际上,神经网络内部和优化期间的所有操作都是张量之间的操作,而神经网络中的所有参数(例如权重和偏差)也都是张量。 怎样获取一条数据、一段视频或…

Java面试知识点

工作也有好些年了,从刚毕业到前几年看过无数的面试题,总想着自己写一个面试总结,随着自我认识的变化,一些知识点的理解也越来越不一样了。写下来温故而知新。很多问题可能别人也总结过,但是答案不尽相同,如…

纯css实现loading加载中(多种展现形式)

前言 现如今网页越来越趋近于动画,相信大家平时浏览网页或多或少都能看到一些动画效果,今天我们来做一个有意思的动画效果,纯 css 实现 loading 加载中(多种展现形式),下面一起看看吧。 1. 常规 loading 实…

Linux系统之cuda 11情况下如何配置pytorch 10.2

由于目前pytorch1.8.2只能支持到10.2的版本,但ubuntu最新的系统驱动直接支持了cuda 11.4, 并且cuda tooklit支持的默认下载也是11.0。1、确认NVIDIA驱动安装lspci|grep NVIDIA1. 需要先降低cuda tooklit的版本(卸载新版本)cuda-uninstaller in /usr/loca…

统一附件存储MINIO部署使用

一、基于docker环境部署 1、创建docker-compose配置文件 1)创建 docker-compose-minio.yml文件,内容如下: version: 3.7# Settings and configurations that are common for all containers x-minio-common: &minio-commonimage: quay…

结构体+枚举+联合体

目录 一、结构体的声明 (一)结构的基础知识 (二)结构的声明 (三)特殊的声明 (四)结构的自引用 1. 一个结构体内部包含一个类型为该结构本身的成员(不合法&…

Day19 C++STL入门基础知识十一——map、multimap容器 构造赋值、大小交换、插入删除、查找统计、排序【全面深度剖析+例题代码展示】

💃🏼 本人简介:男 👶🏼 年龄:18 ✍每日一句:【道固远,笃行可至;事虽巨,坚为必成】 文章目录1. 基本概念2. 构造赋值① 函数原型② 代码展示③ 测试结果3. 大小…

基于tensorflow的垃圾分类系统

项目描述 该项目基于PySide2和PyQt5设计界面UI,搭配QT Designer进行界面设计。 基于TensorFlow中的Keras模型,进行垃圾分类模型的训练。 项目包含功能有:使用者注册登录功能、管理员训练模型、用户使用模型进行分类。 功能介绍 一、注册登…

JVM调优

JVM调优-VisualVmVisualVm/ Jconsule远程连接第一种方式第二种方式:java 11开启远程GC连接如果还连不上考虑防火墙拦截了端口firewall-cmd --list-all,查看一下并暴露对应端口连接配置VisualVm界面简介采集GC信息的一些命令垃圾回收器切换VisualVm/ Jconsule远程连接…

unity 框选目标

先制作选框: 创建一个Image,给Sourece Image随便添加一张方形图片,如果添加圆的出来就是圆,这个看情况而定,然后勾掉Fill Center这样就镂空了 这种框选一般都是作为组件存在所以代码要做成单例类,默认情况…

【Mysql第十期 数据类型】

文章目录1. MySQL中的数据类型2.类型介绍2.2 可选属性2.2.2 UNSIGNED2.2.3 ZEROFILL2.3 适用场景2.4 如何选择?3. 浮点类型3.2 数据精度说明3.3 精度误差说明4. 定点数类型4.1 类型介绍4.2 开发中经验5. 位类型:BIT6. 日期与时间类型6.1 YEAR类型6.2 DAT…

程序的编译与链接(C语言为例) #代码写好后到运行期间要经过怎样的过程呢?# 粗略版 #

编译与链接前言程序的环境程序的编译与链接写在最后前言 每当我们运行一段代码时,编译器都会自动的帮我们编译代码并将代码转换为一个二进制可执行文件(.exe), 有了这个可执行文件,便可以执行我们写的程序了。那么编译…

Linux-Ubuntu18.04安装anaconda及python解释器环境的配置

1.anaconda的下载anaconda官网搜索链接,点击下载注意:anaconda的下载位置2.anaconda的安装利用如下命令进行安装:$ bash /home/xiaowang/下载/Anaconda3-2022.10-Linux-x86_64.sh一直点击回车enter,阅读文件内容文件阅读完毕&…

canal五部曲-如何保证消息的顺序

分析CanalRocketMQProducer.send canal发送消息到RocketMQ使用到了partitionNum、partitionHash 通过partitionHash可以把消息发送到RocketMQ的不同分区上,因为同一个分区在消费时有序的 public void send(final MQDestination destination, String topicName, com.…

2020年因果推断综述《A Survey on Causal Inference》

最近阅读了TKDD2020年的《A Survey on Causal Inference》,传送门,自己对文章按照顺序做了整理,同时对优秀的内容进行融合,如有不当之处,请多多指教。 文章对因果推理方法进行了全面的回顾,根据传统因果框…

威胁情报是什么

文章目录前言一、威胁情报是什么?数据与情报IOC二、威胁情报的分类1.战略情报2.技术情报3.战术情报4.运营情报三、总结四、参考前言 只要有斗争冲突,就有那些研究、分析和努力去了解对手的人。一场战争的输赢,取决于你对对手的了解&#xff0…

springboot启动过程源码

概述版本<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.3.RELEASE</version><relativePath/></parent>启动入口代码package com.ybjdw.tool;i…

如何解决混合精度训练大模型的局限性问题

混合精度已经成为训练大型深度学习模型的必要条件&#xff0c;但也带来了许多挑战。将模型参数和梯度转换为较低精度数据类型&#xff08;如FP16&#xff09;可以加快训练速度&#xff0c;但也会带来数值稳定性的问题。使用进行FP16 训练梯度更容易溢出或不足&#xff0c;导致优…

【王道数据结构】第六章(下) | 图的应用

目录 一、最小生成树 二、最短路径 三、有向⽆环图描述表达式 四、拓扑排序 五、关键路径 一、最小生成树 1、最小生成树的概念 对于一个带权连通无向图G &#xff08;V,E)&#xff0c;生成树不&#xff0c;每棵树的权(即树中所有边上的权值之和)也可能不同。设R为G的所…