旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

MySQL 教程之列范例中的数值型【MySQL教程】,MySQL教程

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:39评论:0


导读:本篇文章主要给人人引见mysql中列范例之数值型的相干知识点,愿望对须要的朋侪有所协助!引荐参考教程:《mysql教程》列范例(数据范例)所谓的列范例,实在就是...
本篇文章主要给人人引见mysql中列范例之数值型的相干知识点,愿望对须要的朋侪有所协助!

引荐参考教程:《mysql教程》

列范例(数据范例)

所谓的列范例,实在就是指数据范例,即对数据举行一致的分类,从体系的角度动身是为了能够运用一致的体式格局举行治理,更好的应用有限的空间。

在 SQL 中,将数据范例分红了三大类,分别为:数值型、字符串型和日期时刻型。

关于数值型数据,能够进一步将其划分为整数型小数型

整数型

在 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;

如上图所示,我们已胜利建立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);

如上图所示,经由过程列范例,我们能够限定插进去数据的范例以及长度局限。

至于为何在对int_1赋值时,报出超越局限的毛病,则是由于在 SQL 中数值范例默许是有标记位的,即分正负。假如须要运用无标记的数据,这就须要我们自身对数据范例举行声明啦,即在声明数据范例时,追加unsigned关键字。比方:

-- 在 my_int 表中,增添 int_5 字段,设置其数据范例为 tinyint unsignedalter table my_int add int_5 tinyint unsigned;

如上图所示,增添int_5字段胜利,继承插进去数据:

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

如上图所示,当我们将tinyint限定为unsigned以后,已能够插进去0~255之间的任何整数啦!然则,回过头来,让我们细致看看下面这张图:

经由过程视察上面这张图,我们会发明:每一个字段的数据范例背面都邑随着一对括号,而且内里含有数字。这些数字啊,实在并没有什么迥殊的寄义,只是示意数据的显现宽度。实际上,我们能够修正显现的宽度,然则这类修正并不会转变数据自身的大小。

显现宽度的意义:在于当数据不够显现宽度的时刻,会自动让数据变成对应的显现宽度,一般须要搭配一个前导0来增添宽度,其不转变数据值的大小,即用zerofill举行零添补,而且零添补会致使数值自动变成无标记。

下面,实行以下 SQL 语句:

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

再插进去数据,举行测试:

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

如上图所示,零添补的意义:在于保证数据的花样。

小数型

小数型,即带有小数点或许局限超越整型的数值范例

在 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);

如上图所示,我们的结论得到了考证。

第 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 教程之列范例中的数值型的细致内容,更多请关注ki4网别的相干文章!

标签:MySQL教程


欢迎 发表评论: