MYSQL四:数据类型(列类型)(数值型小数型 BIT型)

小数型

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

SQL中:分为两种:浮点型和定点型 浮点型:小数点浮动,精度有限,而且会丢失精度 定点型:小数点固定,不会丢失精度

浮点型

浮点型数据是一种精度型数据:因为超出指定范围之后,会丢失精度(四舍五入)

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

double:双精度,占用8个字节存储数据,精度范围大概为15位左右
在这里插入图片描述
浮点数的使用方式:直接float表示没有小说部分:float(M,D):M表示总长度,D表示小数部分长度,整数部分长度为M-D

-- 创建浮点数表
create table my_float(
    f1 float,
    f2 float(10,2),-- 10位在精度范围之外
    f3 float(6,2)	-- 6位在精度范围之内
)charset utf8;
-- 插入数据  可以是直接小数,也可以是科学计数法
insert into my_float values (1000.10,1000.10,1000.10);-- 符合条件
insert into my_float values (1234567890,12345678.90,1234.56);-- 符合条件
insert into my_float values (3e38,3.01e7,1234.56);-- 符合条件
insert into my_float values (9999999999,99999999.99,9999.99);-- 最大值

浮点型数据的插入:整形部分是不能超出长度的,但是小数部分可以

-- 超出长度插入数据
insert into my_float values (123456,1234.123456789,123.1234567);-- 小数部分可以
insert into my_float values (123456,1234.12,12345.56);-- 整数部分超出

查看数据:浮点数一定会进行四舍五入(超出精度范围):浮点数如果是因为系统进位导致整数部分超出指定的长度,那么系统也允许成立
在这里插入图片描述

定点型

定点型:绝对的保证整数部分不会被四舍五入(不会丢失精度),小说部分有可能(理论小数部分也不会丢失精度)
在这里插入图片描述

-- 创建定点数表
create table my_decimal(
	f1 float(10,2),
    d1 decimal(10,2)
)charset utf8;
-- 插入数据:定点数的整数部分一定不能超出长度(进位不可以)小数部分的长度可以随意超出(会自动四舍五入)
insert into my_decimal values(12345678.90,12345678.90);-- 有效数据
insert into my_decimal values(1234.123456,1234.1234356);-- 小数部分超出,但是可以插入

-- 浮点数如果进位导致长度溢出没有问题,但是定点数不行
insert into my_decimal values(99999999.99,99999999.99);-- 没问题
insert into my_decimal values(99999999.99,99999999.999);-- 不行,进位超出范围

查看数据:
在这里插入图片描述

BIT型

bit(位)类型用于储存二进制数据,语法: BIT(M) M表示位数,范围:1~64

-- 查询A的ASCII码
select ascii('A');
-- 十进制转二进制借助bin 函数
select bin(65);
-- 计算二进制数长度
select length(bin(65));
-- 十进制转二进制并计算二进制长度
select bin(65),length(bin(65));

bit类型表:

-- 创建表
create table my_bit(
	b bit(7)
)charset utf8;
-- 插入数据:可直接插入十进制数值,会自动转换
insert into my_bit values (65);
-- 查看数据
select * from my_bit;
-- 直接进行查询查到的结果是转换后的字符

-- 可以对查询结果进行转换可以得到二进制结果
select bin(b) from my_bit;

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周公子来了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值