MySQL 列类型(字段类型)——A

                                                 整数型

tinyint:迷你整形,一个字节保存数据,能表示的数字数量为256个,(-128,127)

smallint:小整形,两个字节保存数据,能保存65536个

mediumint:中整形,三个字节保存数据

int:标准整形,四个字节保存数据

bigint:大整形,五个字节保存数据

create database practice;
use practice;
create table my_int(
int_1 tinyint,
int_2 smallint,
int_3 mediumint,
int_4 int,
int_5 bigint
)charset gbk;
insert into myint values(10,10000,100000,1000000,10000000);
insert into myint values(-128,255,255,255,255);

无符号设定

存储的数据在当前字段中,没有负数

在列类型之后加上 unsigned 

alter table myint add int_6 tinyint unsigned first;
insert into myint values (255,127,255,255,255,255);

显示长度

数据(整形)在数据显示的时候,到底可以显示多少位

tinyint(3):表示最长可以显示3位,unsigned说明只能是正数,从0-255,位数不会超过三

tinyint(4):表示最长可以显示4位,(-128,127),符号也算一位

zerofill

使字段显示从左侧开始填充0,直到达到指定长度。所有负数的时候不能使用zerofill,一旦使用默认字段为unsigned

alter table myint add int_7 tinyint zerofill first;
insert into myint values (1,1,1,1,1,1,1);

 

补零的长度可以设定,超出长度的不操作,未达到的补0到指定长度

可用于显示月份、时间

alter table myint add int_8 tinyint(2) zerofill first;
insert into myint values (1,1,1,1,1,1,1,1);



                                                     小数类型

MySQL中将小数分为浮点型和定点型

浮点型:

又称之为精度类型,是一种有可能丢失精度的数据类型,数据有可能不准确,尤其是在超出范围的时候

浮点型之所以能存储较大的数值,就是利用存储数据的位来存储指数 

float:

又称之为单精度类型,系统提供4个字节用来存储数据,但是能表示的数据范围比整形大得多,大概是10^38,缺点是只能保证大概7个左右的精度(如果数据超过7位数,那么就不准确)

基本语法:

float:不指定小数位的浮点数

float(M,D):表示一共存储M个有效数字,其中小数部分占D位

例如:float(10,2):共10个有效数字,小数部分占2位,整数部分占8位

double: 

又称之为双精度:系统用8个字节来存储数据,表示的范围为10^308次方,但是精度只有15位左右

 

定点型:

能保证数据精确的小数。小数部分可能不精确,超出长度会四舍五入,整数部分一定精确。

应用:涉及到钱的时候可能使用定点数,保证精确

decimal:

系统自动根据存储的数据来分配存储空间,每大概9个数就会分配四个字节来进行储存,同时小数和整数部分是分开的。

decimal(M,D):M表示总长度,最大值不能超过65,D代表小数部分长度,最长不能超过30。

对比:

猜你喜欢

转载自blog.csdn.net/weixin_42523297/article/details/82771950