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

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

数值型:这一听就知道是数值啦,系统将相关数值分成了整数类型和小数类型。
列类型:整数型
整数型:存放整型数据,在SQL中更多的是需要考虑如何节省磁盘空间,所以系统将整形细分成了5类:

在表中创建相关整数类型:
-- 创建整形
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表示。
用法: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);
-- 整数部分超出(会报错)执行如下:
