sql $10符号_何为SQL整数及浮点类型?

903b852c7f40383078f2ad9dd7c38a12.png

点击这里关注"程序员Bob"

09a9b3ccde2c04a3af20e43a6ad659b5.png e5d94dea65380947f5018bcc578fde21.png

I am not afraid of tomorrow for I have seen yesterday and love today.我不害怕明天,因为我经历过昨天,又热爱今天。

e470020f32ca40037882adfe30df4f4b.png 小编有好几天没写MySQL了,还记得在那天晚上突然觉得有点不习惯,怀念平时写文章的那种感觉以及排版带来的美感(虽说小编的排版也属实不咋地 8d0f8252fbc8e8a033658657706723ba.png 8d0f8252fbc8e8a033658657706723ba.png 8d0f8252fbc8e8a033658657706723ba.png ,但还是会经常变变风格啥的,哈哈哈)。 上次小编已经将SQL的 三大操作(库操作,表操作以及数据操作) 简单介绍完啦,后面还会有相关的列类型和列属性以及索引...今天就先来介绍MySQL的列类型啦,说到SQL的数据类型,其实有很多和C语言差不多的,比如整数类型,浮点数类型,字符串类型等等,当然其中也会有改动,都有各自的特点。 这里就先介绍SQL数值类型中的 整数类型和浮点数类型 啦~ d1e20f5ba9f8ed10cd7d52cc152f9848.gif SQL:数据类型 数据类型: 所谓的数据类型,其实是对数据进行统一的分类,从系统的角度来看是为了能够使用统一的方式进行管理,从而更好的利用有限的空间。 SQL中将数据类型分成了三大类:数值类型,字符集类型和时间日期类型。大致示意图如下:

98fb95a9cbe5fb4e9a352aac079ec868.png

数值型:这一听就知道是数值啦,系统将相关数值分成了整数类型和小数类型。 列类型:整数型 整数型: 存放整型数据,在SQL中更多的是需要考虑如何节省磁盘空间,所以系统将整形细分成了5类:
  1. Tinyint(常用):使用一个字节存储表示的状态最多为256种(八个字节最大表示256个)

  2. Smallint:使用2个字节存储,表示的状态最多为65536

  3. mediumint:使用3个字节存储

  4. int(常用):使用四个字节存储

  5. Bigint:使用八个字节存储

0eea6a4cb7ef9c0654aee1bbc44d3a10.png

在表中创建相关整数类型:
--  创建整形 create table my_int( int_1 tinyint, int_2 smallint, int_3 int, int_4 bigint  )charset utf8;
  • 创建一张整形表(如上):插入数据:只能插入范围内的整型

在表中插入相关数据:

 -- 插入数据insert into my_int values (100,100,100,100);  -- 有效数据insert into my_int values ('a','b','199','f');  -- 无效数据insert into my_int values (255,10000,100000,1000000);  -- 错误:超出范围

分别执行如下:

2d188bd43181f70494020039fb58a85a.png

在SQL中,数值类型全部都是默认为有符号,比如正负。

而有时候需要使用无符号数据限定,例如需要给数据类型进行限定(使用):int unsigned;- -无符号:

从0开始语句:alter table my_int add int_5 tinyint unsigned;

执行如下:

43430d3ed4344d2fc99f21d80ccc4bb8.png

根据需要,有时候会在类型中添加 零填充 ,如:zerofill(零填充)→自动变成无符号。其意义(显示宽度):保证数据格式(比如在需要用年月份时)相关语句:
alter table my_int add int_7 tinyint(2) zerofill;insert into my_int values (1,1,1,1,1,1,1);insert into my_int values (100,100,100,100,100,100,100);
执行如下:

55e073780bb941d0a0c888d4d4679302.png

To: 在使用整型数据时,需要关注的大概为:如何创建整型表,如何插入整型数据以及需要注意是否为无符号类型,至于对于表的一些操作还是需要大家自己去康康表操作啦,相关表操作: MySQL基础学习之大战表操作 : 列类型:浮点数 学过C语言的大概都清楚浮点数类型啦,简单来说就是小数,但在SQL中又有所不同。 小数型:带有小数点或者范围超出整型的数值范围。 在SQL中:由于系统的需要,将小数细分成两种:浮点型(小数点浮动,精度有限,且会丢失精度)和定点型(小数点固定,精度固定,不会丢失精度) 浮点型:浮点型数据是一种精度型数据,因为超出指定范围之后,会丢失精度(自动四舍五入)。 浮点型理论分为两种:
  • float(单精度):占用4个字节存储数据,精度范围大概为7位左右

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

创建浮点数表 创建浮点数表,浮点的使用方式:直接float表示。 用法:float(M,D)【M代表总长度,D代表小数部分长度,整数部分长度为M-D】

相关语句:

-- 浮点数(10位在精度范围之外,6位在精度范围之内)create table my_float(f1 float,f2 float(10,2),f3 float(6,2))charset utf8;
执行如下:

99f0d701dc06afb45fecad23a1bc6c90.png

插入数据: 可以直接是小数,也可以是科学计数法 浮点型数据的插入:整形部分不能超出长度,但小数部分可以超出长度(系统会自动四舍五入) 相关语句:
-- 插入数据insert into my_float values (1234.10,1234.10,1234.10);-- 符合条件insert into my_float values (123456789,12345678.99,9999.99);-- 最大值insert into my_float values (3e38,3.01e7,1234.56);  -- 科学计数法
上面是符合规范的,下面演示相关错误语句:
-- 超出长度的限制insert into my_float values (123456,1234.12345678,123.1234567);  -- 小数部分可行,整数部分超出(不会报错)insert into my_float values (123456,1234.12,12345.12);  -- 整数部分超出(会报错)
执行如下:

4dccb4f108678457aff95afd37f3b7fc.png

5796bb258ea4558567091d99cfe50ce8.png

往期推荐:

洛谷 || 最厉害的学生

2020-10-18

8c9ac8865cb91f8bfae1975236727c1a.png

MySQL基础学习之大战数据操作

2020-10-17

aa45ad11e00672092238758d1e186653.png

关于小编

2020-10-06

780599a0f859e4e230e372b121b1715f.png

为你,千千万万遍.

关注程序员Bob公众号,与你一起终生学习

9da53e40456de0adead0b2e2f289a1e3.png

一键三连,就差你了 c9fe572f87319eac900b14eada00719a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值