广告
返回顶部
首页 > 资讯 > 数据库 >MySQL列类型中的数值型详细教程
  • 335
分享到

MySQL列类型中的数值型详细教程

2024-04-02 19:04:59 335人浏览 独家记忆
摘要

下文主要给大家带来Mysql列类型中的数值型详细教程,希望这些内容能够带给大家实际用处,这也是我编辑mysql列类型中的数值型详细教程这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。  &

下文主要给大家带来Mysql列类型中的数值型详细教程,希望这些内容能够带给大家实际用处,这也是我编辑mysql列类型中的数值型详细教程这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。                                                            

列类型(数据类型)

所谓的列类型,其实就是指数据类型,即对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间。

sql 中,将数据类型分成了三大类,分别为:数值型、字符串型和日期时间型。

MySQL列类型中的数值型详细教程

对于数值型数据,可以进一步将其划分为整数型和小数型。

整数型

在 SQL 中,由于要考虑节省磁盘空间的问题,因此系统又将整型细分成五类,分别为:

  • tinyint:迷你整型,使用 1 个字节存储数据(常用);

  • smallint:小整型,使用 2 个字节存储数据;

  • mediumint:中整型,使用 3 个字节存储数据;

  • int:标准整型,使用 4 个字节存储数据(常用);

  • bigint:大整型,使用 8 个字节存储数据。

接下来,输入如下 SQL 语句进行测试

-- 创建整型表create table my_int(
    int_1 tinyint,
    int_2 smallint,
    int_3 int,
    int_4 bigint
)charset utf8;

MySQL列类型中的数值型详细教程

如上图所示,咱们已经成功创建my_int表,再插入数据:

-- 插入数据insert into my_int values (1,2,3,4);insert into my_int values ('a','b','c','d');insert into my_int values (255,2,3,4);

MySQL列类型中的数值型详细教程

如上图所示,通过列类型,咱们可以限定插入数据的类型以及长度范围。

至于为什么在对int_1赋值时,报出超出范围的错误,则是因为在 SQL 中数值类型默认是有符号位的,即分正负。如果需要使用无符号的数据,这就需要咱们自己对数据类型进行声明啦,即在声明数据类型时,追加unsigned关键字。例如:

-- 在 my_int 表中,添加 int_5 字段,设置其数据类型为 tinyint unsignedalter table my_int add int_5 tinyint unsigned;

MySQL列类型中的数值型详细教程

如上图所示,添加int_5字段成功,继续插入数据:

-- 插入数据insert into my_int values (1,2,3,4,255);

MySQL列类型中的数值型详细教程

如上图所示,当咱们将tinyint限定为unsigned之后,已经可以插入0~255之间的任何整数啦!但是,回过头来,让咱们仔细看看下面这张图:

MySQL列类型中的数值型详细教程

通过观察上面这张图,咱们会发现:每个字段的数据类型后面都会跟着一对括号,并且里面含有数字。这些数字啊,其实并没有什么特别的含义,只是表示数据的显示宽度。实际上,咱们可以修改显示的宽度,但是这种修改并不会改变数据本身的大小。

显示宽度的意义:在于当数据不够显示宽度的时候,会自动让数据变成对应的显示宽度,通常需要搭配一个前导0来增加宽度,其不改变数据值的大小,即用zerofill进行零填充,并且零填充会导致数值自动变成无符号。

下面,执行如下 SQL 语句:

-- 在 my_int 表中,添加 int_6 字段,设置其数据类型为 tinyint zerofillalter table my_int add int_6(3) tinyint zerofill;

MySQL列类型中的数值型详细教程

再插入数据,进行测试:

-- 插入数据insert into my_int values (1,2,3,4,5,6);

MySQL列类型中的数值型详细教程

如上图所示,零填充的意义:在于保证数据的格式。

小数型

小数型,即带有小数点或者范围超出整型的数值类型。

在 SQL 中,将小数型细分为浮点型和定点型两种,其中:

  • 浮点型:小数点浮动,精度有限,容易丢失精度;

  • 定点型:小数点固定,精度固定,不会丢失精度。

第 1 种:浮点型

浮点型数据是一种精度型数据,因为超出指定范围之后,其会丢失精度,自动进行四舍五入操作。理论上,浮点型分为两种精度:

  • float:单精度,占用 4 个字节存储数据,精度范围大概为 7 位左右;

  • double:双精度,占用 8 个字节存储数据,精度范围大概为 15 位左右。

浮点型的使用方式:如果直接用float,则表示没有小数部分;如果用float(M,D),其中M代表总长度,D代表小数部分长度,M-D则为整数部分长度。

执行如下 SQL 语句创建浮点数表,进行测试:

-- 创建浮点数表create table my_float(
    f1 float,
    f2 float(10,2),
    f3 float(6,2)
)charset utf8;

在咱们向浮点数表my_float插入数据的时候,可以直接插入小数,也可以插入用科学计数法表示的数据。此外,插入浮点型数据时,整数部分是不能超出长度范围的,但是小数部分是可以超出长度范围的,系统会自动进行四舍五入的操作。特别是,如果浮点数是因为系统进位(四舍五入)导致整数部分超出指定的长度,那么系统是允许成立的。

-- 插入测试数据insert into my_float values (2.15e4,20.15,9999.99);insert into my_float values (20151120,123456789.99,9999.99);insert into my_float values (5211314,123456.99,99.99999);

MySQL列类型中的数值型详细教程

如上图所示,咱们的结论得到了验证。

第 2 种:定点型

定点型数据,绝对的保证整数部分不会被四舍五入,也就是说不会丢失精度,但小数部分有可能丢失精度,虽然理论上小数部分也不会丢失精度。

执行如下 SQL 语句创建定点数表,以浮点数做对比,进行测试:

-- 创建定点数表create table my_decimal(
    f1 float(10,2),
    d1 decimal(10,2)
)charset utf8;

当咱们插入数据的时候,定点数的整数部分一定不能超出长度范围(进位也不可以),小数部分的长度则可以随意超出,没有限制,系统会自动进行四舍五入的操作:

-- 插入测试数据insert into my_decimal values (99999999.99,99999999.99);insert into my_decimal values (123456789.99,2015.1314);insert into my_decimal values (123456.99,2015.1314);

MySQL列类型中的数值型详细教程

如上图所示,咱们的结论同样得到了验证。

对于以上关于MySQL列类型中的数值型详细教程,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的数据库,相信你会喜欢上这些内容的。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL列类型中的数值型详细教程

本文链接: https://www.lsjlt.com/news/35071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL列类型中的数值型详细教程
    下文主要给大家带来MySQL列类型中的数值型详细教程,希望这些内容能够带给大家实际用处,这也是我编辑MySQL列类型中的数值型详细教程这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。  &...
    99+
    2022-10-18
  • MySQL基础教程1 —— 数据类型之数值类型
    MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISI...
    99+
    2022-05-31
    MySQL SQL 数值 数据类型 整型 浮点型
  • Go基础教程系列之数据类型详细说明
    每一个变量都有数据类型,Go中的数据类型有: 简单数据类型:int、float、complex、bool和string数据结构或组合(composite):struct、array、...
    99+
    2022-11-13
  • 详细的MySQL列类型中的字符串型知识介绍
    下文主要给大家带来MySQL列类型中的字符串型知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL列类型中的字符串型知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。  &nb...
    99+
    2022-10-18
  • MySql数据类型教程示例详解
    目录1.简要概述2. MySQL数据类型详解1) 字符串类型2) 整数类型3)浮点数类型4)日期/时间类型1.简要概述 为什么要开通MySQL这个学习板块呢?因为这是一名数据分析师必...
    99+
    2022-11-12
  • C++ 中的类型详细
    目录一、初始化与赋值二、 类型概述三、类型分类1、数值类型2、void类型四、字面值及其类型五、变量及其类型六、复合类型1、指针:一种间接类型;2、引用七、常量类型八、类型别名九、类...
    99+
    2022-11-12
  • Java中关于泛型、包装类及ArrayList的详细教程
    目录一、泛型1.1 泛型类的定义1.2 泛型类的使用1.3 泛型总结二、包装类2.1基本数据类型和包装类直接的对应关系2.2 包装类的使用,装箱(boxing)和拆箱(unboxin...
    99+
    2022-11-12
  • MySQL中有哪些数值类型
    今天就跟大家聊聊有关MySQL中有哪些数值类型,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。数值类型 MySQL 的数值数据类型可以大致划...
    99+
    2022-10-18
  • 详解MySQL中数据类型和字段类型
    目录1. mysql的数据类型 (1)数值型 (2)字符(串)型 (3)日期和时间型 (4)null值 2. mysql的列(字段)类型 2.1数值列类型&nb...
    99+
    2022-09-26
  • Python中数据类型的详细介绍
    这篇文章主要讲解了“Python中数据类型的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中数据类型的详细介绍”吧!目录1、字符串2、布尔类型3、整数4、浮点数5、数字6...
    99+
    2023-06-02
  • MySQL基础教程3 —— 数据类型之字符串类型
    字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。 1. CHAR和VARCHAR类型 CHAR和V...
    99+
    2022-05-28
    enum MySQL set varchar 字符串 数据类型
  • 测试MySQL的enum类型详细步骤
    本文主要给大家简单讲讲测试MySQL的enum类型详细步骤,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望测试MySQL的enum类型详细步骤这篇文章可以给大...
    99+
    2022-10-18
  • 怎么理解MYSQL数据类型存储中数值型
    怎么理解MYSQL数据类型存储中数值型,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。探索MYSQL 数值类型的存储,以及解读方...
    99+
    2022-10-19
  • Mysql数据类型与CRUD操作详细讲解
    目录基本数据类型数据库命令建表与约束建表约束基本数据操作(CRUD)基本数据类型 整数:可选择unsigned修饰 intyint 8位 (-128 - 127) smallint 16位 (-32768 - 32767...
    99+
    2022-10-19
  • MySQL数值类型在binlog中需要注意的细节有哪些
    MySQL数值类型在binlog中需要注意的细节有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。     ...
    99+
    2022-10-19
  • 详细谈谈ES6中的symbol数据类型
    目录symbol数据类型symbol出现的原因Symbol特点symbol的应用在rb对象中添加up和down方法Symbol内置的属性值总结symbol数据类型 js语言中,ES...
    99+
    2022-11-12
  • mysql的数据类型详解
    ################################# 分类标准: 分类: 数值数据类型:() 字符串数据类型 日期时间数据类型 json数据类型 空间数据类型   数值数据类型:   整数(精确值): 1)tinyint,占...
    99+
    2017-04-27
    mysql的数据类型详解 数据库入门 数据库基础教程 数据库 mysql
  • MySQL基础教程2 —— 数据类型之日期和时间类型
    表示时间值的DATE和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个“零”值,当指定不合法的MySQL不能表示的值时使用“零”值。TIMESTAMP类...
    99+
    2022-05-24
    MySQL 数据类型 日期时间
  • 详细介绍java中的byte类型
    Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。下面这篇文章主要给大家介绍了关于java中byte类型的相关资料,需要的朋...
    99+
    2020-01-07
    java入门 java byte类型
  • redis数据类型strings的详细介绍
    本篇内容主要讲解“redis数据类型strings的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis数据类型strings的详细介绍”吧!1.&...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作