MySQL系列之数据类型(Numeric)

导览

  • 前言
  • 一、数值类型综述
  • 二、数值类型详解
    • 1. NUMERIC
      • 1.1 UNSIGNED或SIGNED
      • 1.2 数据类型划分
    • 2. Integer类型取值和存储要求
    • 3. Fixed-Point类型取值和存储要求
    • 4. Floating-Point类型取值和存储要求
  • 结语
  • 精彩回放

前言

MySQL系列最近三篇均关注了和我们日常工作或学习密切相关的安全话题,通过介绍相关领域知识或实践,为有需要的盆友提供便捷的参考方案。

从本文开始,博主打算换个“口味”,正如吃饭需要“酸甜苦辣咸”一样,数据类型(Data Types)是MySQL存储的基本标准。今天博主带着各位先深入学习其中之一:Numeric
在这里插入图片描述

一、数值类型综述

MySQL支持数值类型,主要包括两类:

  • 精确的数值数据类型:
    INTEGER、SMALLINT、DECIMAL和NUMERIC
  • 近似的数值数据类型:
    FLOAT、REAL和DOUBLE PRECISION

二、数值类型详解

1. NUMERIC

1.1 UNSIGNED或SIGNED

Numeric类型允许UNSIGNED(无符号)和SIGNED(有符号)。其中SIGNED是默认属性,UNSIGNED用于限制数值为非负。它们的区别就是UNSIGNED扩展了整型数据的可用范围,但是并没有改变类型存储的数据范围。

1.2 数据类型划分

Numeric包括以下主要的数据类型:

类型说明
BIT位,取值[1,64],默认是1
TINYINT短整数,取值[-128,127] ;如无符号,取值[0,255]
BOOL,BOOLEAN等同TINYINT[1],0代表false,非0代表1
SMALLINT短整数,取值[-32768,32767] ;如无符号,取值[0,65535]
MEDIUMINT中等整数,取值[-8388608,8388607] ;如无符号,取值[ 0,16777215]
INT,INTEGER正常整数,取值[-2147483648,2147483647] ;如无符号,取值[ 0,4294967295]
BIGINT长整数,取值[ -9223372036854775808,9223372036854775807] ;如无符号,取值[0,18446744073709551615]
DECIMAL一个“固定”的浮点数,支持的最大长度65(默认10),最大的小数位数30(默认0)
FLOAT一个单精度浮点数,取值[3.402823466E+38,-1.175494351E-38]和[1.175494351E-38,3.402823466E+38],可精确到小数点7位左右。该类型的数据精度随硬件或操作系统的差异会有所不同
DOUBLE一个双精度浮点数,取值[-1.7976931348623157E+308,-2.2250738585072014E-308]和[0,2.225073585072014E-308-1797693134863157E+308],可精确到小数点15位左右

2. Integer类型取值和存储要求

在这里插入图片描述

3. Fixed-Point类型取值和存储要求

DECIMALNUMERIC类型可以存储精确的浮点数据,如金额类数据。比如创建一个注册资本字段:regcap decimal(10,2),代表长度为10位,并保留2位小数。

提示:在MySQL中,NUMERIC等同于DECIMAL。

4. Floating-Point类型取值和存储要求

FLOATDOUBLE类型表示近似的数值。在MySQL中,使用四个字节表示单精度值,八个字节表示双精度值。
比如我们定义一个类型为*float(10,5)*的字段,实际会存入一个近似值。

结语

本文对MySQL数据类型中的Numeric进行了说明,可以指导我们在建库建表的时候,针对不同业务字段设计不同的Numeric类型。

走过的、路过的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~


精彩回放


MySQL系列之远程管理(安全)
MySQL系列之身份鉴别(安全)
MySQL系列之数据授权(安全)
MySQL系列之如何在Linux只安装客户端
MySQL系列之如何正确的使用窗口函数(基于8.0版本)
MySQL系列之数据导入导出
MySQL系列之索引入门(上)
MySQL系列之索引入门(下)


在这里插入图片描述

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

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

相关文章

一学就废|Python基础碎片,格式化F-string

Python 3.6 中引入了 f-string语法,提供了一种简洁直观的方法来将表达式和变量直接嵌入到字符串中进行字符串格式化,f -string背后的想法是使字符串插值更简单。 要创建 f -string,在字符串前加上字母 “f”即可,与字符串本身的格…

在 Mac(ARM 架构)上安装 JDK 8 环境

文章目录 步骤 1:检查系统版本步骤 2:下载支持 ARM 的 JDK 8步骤 3:安装 JDK步骤 4:配置环境变量步骤 5:验证安装步骤 6:注意事项步骤7:查看Java的安装路径 在 Mac(ARM 架构&#xf…

【AI绘画】Midjourney进阶:色调详解(上)

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AI绘画 | Midjourney 文章目录 💯前言💯Midjourney中的色彩控制为什么要控制色彩?为什么要在Midjourney中控制色彩? 💯色调白色调淡色调明色调 &#x1f4af…

【C++】LeetCode:LCR 023. 相交链表

题干 LCR 023. 相交链表 的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果…

【Linux学习】【Ubuntu入门】2-5 shell脚本入门

1.shell脚本就是将连续执行的命令携程一个文件 2.第一个shell脚本写法 shell脚本是个纯文本文件,命令从上而下,一行一行开始执行,其扩展名为.sh,shell脚本第一行一定要为:#!/bin/bash,表示使用bash。echo…

【C++】list模拟实现(完结)

1.普通迭代器(补充) 1.1 后置和后置-- 我们迭代器里面实现了前置和前置--,还需要实现后置和后置--。 在list.h文件的list_iterator类里面实现。 //后置/-- Self& operator(int) {Self tem(*this);//保存原来的值_node _node->_nex…

基于Python的飞机大战复现

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

MR30分布式 IO 模块在冷却水泵系统中的卓越应用

在当今各类工业生产以及大型设施运行的场景中,冷却水泵系统起着至关重要的作用,它犹如保障整个运转体系顺畅运行的 “血液循环系统”,维持着设备适宜的温度环境,确保其稳定、高效地工作。而随着科技的不断发展,明达技术…

银河麒麟桌面系统——桌面鼠标变成x,窗口无关闭按钮的解决办法

银河麒麟桌面系统——桌面鼠标变成x,窗口无关闭按钮的解决办法 1、支持环境2、详细操作说明步骤1:用root账户登录电脑步骤2:导航到kylin-wm-chooser目录步骤3:编辑default.conf文件步骤4:重启电脑 3、结语 &#x1f49…

多线程常见问题集

一、多线程预防和避免线程死锁 如何预防死锁? 破坏死锁的产生的必要条件即可: 破坏请求与保持条件:一次性申请所有的资源。破坏不剥夺条件:占用部分资源的线程进一步申请其他资源时,如果申请不到,可以主动释…

Java ArrayList 与顺序表:在编程海洋中把握数据结构的关键之锚

我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 前言:在 Java编程的广袤世界里,数据结构犹如精巧的建筑蓝图,决定着程序在数据处理与存储时的效率、灵活性以…

【第三方云音乐播放器SPlayer本地安装结合内网穿透打造个性化远程音乐库】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 前言1. 安装Docker2. 创建并启动Splayer容器3. 本地访问测试4. 公网远程访问本地Splayer4.1 内网穿…

easyui combobox 只能选择第一个问题解决

easyui combobox 只能选择第一个问题解决 问题现象 在拆分开票的时候,弹出框上面有一个下拉框用于选择需要新增的明细行,但是每次只能选择到第一个 选择第二条数据的时候默认选择到第一个了 代码如下 /*新增发票编辑窗口*/function addTicketDialog…

从零开始:Linux 环境下的 C/C++ 编译教程

个人主页:chian-ocean 文章专栏 前言: GCC(GNU Compiler Collection)是一个功能强大的编译器集合,支持多种语言,包括 C 和 C。其中 gcc 用于 C 语言编译,g 专用于 C 编译。 Linux GCC or G的安…

transformer.js(三):底层架构及性能优化指南

Transformer.js 是一个轻量级、功能强大的 JavaScript 库,专注于在浏览器中运行 Transformer 模型,为前端开发者提供了高效实现自然语言处理(NLP)任务的能力。本文将详细解析 Transformer.js 的底层架构,并提供实用的性…

STM32 Keil5 attribute 关键字的用法

这篇文章记录一下STM32中attribute的用法。之前做项目的时候产品需要支持远程升级,要求版本只能向上迭代,不支持回退。当时想到的方案是把版本号放到bin文件的头部,设备端收到bin文件的首包部数据后判断是否满足升级要求,这里就可…

aws服务--机密数据存储KMS(1)介绍和使用

在AWS(Amazon Web Services)中存储机密数据时,安全性和合规性是最重要的考虑因素。AWS 提供了多个服务和工具,帮助用户确保数据的安全性、机密性以及合规性。AWS Secrets Manager、KMS(Key Management Service)是推荐的存储机密数据的AWS服务和最佳实践。这里先看KMS。 …

51c~C语言~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12652943 一、嵌入式开发中的C语言编译器 如果你和一个优秀的程序员共事,你会发现他对他使用的工具非常熟悉,就像一个画家了解他的画具一样。----比尔.盖茨1 不能简单的认为是个工具 嵌入式程序开发…

ensp静态路由实验

一、实验目的 1、熟练掌握交换机的基本配置命令 2、熟练掌握静态路由的使用方法 3. 熟练掌握交换机端口模式 二、实验内容 需求: 根据要求利用现有实验设备组建小型局域网 实验设备: 交换机S37002台;PC机2台;路由器2台。 …

深度学习3

五、自动微分 1、基础概念 模块 autograd 负责自动计算张量操作的梯度,具有自动求导功能;autograd 创建一个动态计算图来跟踪张量的操作,每个张量是计算图中的一个节点,节点之间的操作构成图的边。 属性 requires_grad 决定…