>데이터 베이스 >MySQL 튜토리얼 >Mysql学习笔记5-----字段的数据类型

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

WBOY
WBOY원래의
2016-06-01 13:08:00873검색

一、数值型

整形:

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,但基本不用。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.