Maison  >  Article  >  base de données  >  Mysql学习笔记5-----字段的数据类型

Mysql学习笔记5-----字段的数据类型

WBOY
WBOYoriginal
2016-06-01 13:08:00846parcourir

一、数值型

整形:

tinyint    1字节

smallint     2字节

mediumint 3字节

int/intege 4字节

bigint 8字节

可以用unsigned控制是否有正负

可以用zerofill来进行前导零填充

存在bool 类型,其实就是tinyint(1)的别名

create table tb1_int(

a tinyint unsigned,

b tinyint

);

alter table tb1_int add c tinyint(2) zerofill;  // 显示宽度必须配上zerofill才能看到效果。

类型(M) ,M是显示最小宽度的意思并不是取值范围。如果插入宽度超过M位,不会有任何影响,会直接显示。

zerofill 是前导零填充。显示位数不足最小宽度的时候会自动添加前导零。

是男是女 可用tinyint(1) 不建议用bool。

小数(浮点数):

单精度:float :     4个字节

双精度:double : 8个字节

123.456 在磁盘上的存储方式: 0.123456 * 10^3

需要保存的是 0.123456 和 3  就是精度,和幂数

create table num_2(

a float,

b double

);

intsert into num_2 values(1234567890.0123456789, 1234567890.0123456789);

select * from num_2;

结果可以看出:

单精度的默认精度为6位左右,双精度默认的精度为16位左右。

小数支持这中写法

Type (M,D)

M表示一共M位

D表示小数占的位数

create table num_3(

a float(5,3),

b double(7,3)

);

insert into num_3 values(0.12345E3,0.1234567E3); // 支持科学计数法的插入,单数受(M,D)的限制。

小数(定点数)

decimal(M,D)

默认值是decimal(10,2),M最大值是65,D最大值是30。

如果存入的定点数小数位数大于2位,会四舍五入。

支持zerofill。支持unsigned,但基本不用。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn