何为SQL整数及浮点类型?
2020年10月25日 22:40 __ _ _ _ _

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


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

小编有好几天没写MySQL了,还记得在那天晚上突然觉得有点不习惯,怀念平时写文章的那种感觉以及排版带来的美感(虽说小编的排版也属实不咋地


,但还是会经常变变风格啥的,哈哈哈)。
上次小编已经将SQL的 三大操作(库操作,表操作以及数据操作)
简单介绍完啦,后面还会有相关的列类型和列属性以及索引…今天就先来介绍MySQL的列类型啦,说到SQL的数据类型,其实有很多和C语言差不多的,比如整数类型,浮点数类型,字符串类型等等,当然其中也会有改动,都有各自的特点。
这里就先介绍SQL数值类型中的 整数类型和浮点数类型 啦~

SQL:数据类型
数据类型: 所谓的数据类型,其实是对数据进行统一的分类,从系统的角度来看是为了能够使用统一的方式进行管理,从而更好的利用有限的空间。
SQL中将数据类型分成了三大类:数值类型,字符集类型和时间日期类型。大致示意图如下:

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

在表中创建相关整数类型:
-- 创建整形 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); -- 错误:超出范围
分别执行如下:

在SQL中,数值类型全部都是默认为有符号,比如正负。
而有时候需要使用 无符号数据限定 ,例如需要给数据类型进行限定(使用):int unsigned;- -无符号:
从0开始语句:alter table my_int add int_5 tinyint unsigned;
执行如下:

根据需要,有时候会在类型中添加 零填充
,如: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);
执行如下:

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;
执行如下:

插入数据: 可以直接是小数,也可以是科学计数法 浮点型数据的插入:整形部分不能超出长度,但小数部分可以超出长度(系统会自动四舍五入)
相关语句:
-- 插入数据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); -- 整数部分超出(会报错)
执行如下:


往期推荐:
洛谷 || 最厉害的学生 2020-10-18
MySQL基础学习之大战数据操作 2020-10-17
关于小编 2020-10-06
为你,千千万万遍.
关注 程序员Bob 公众号,与你一起终生学习
一键三连,就差你了
预览时标签不可点
阅读
__











