MySQL支持的数据类型,数值类型

来源:互联网 发布:java 跨行字符串 编辑:程序博客网 时间:2024/04/28 23:40

MYSQL支持所有标准SQL中的数值类型,下表列出了MYSQL  5.0中支持的所有数值类型,其中INT是INTEGER的用名词,DEC是DECIMAL同名词。

整数类型

字节

最小值

最大值

TINYINT

1

有符号-128 ,无符号0

有符号127,无符号255

SMALLINT

2

有符号-32768 ,无符号0

有符号32767,无符号65535

MEDIUMINT

3

有符号-8388608 ,无符号0

有符号8388607,无符号1677215

INT ,INTEGER

4

有符号-2147483648,无符号0

有符号214748347,无符号4294967295

BIGINT

8

有符号-9223372036854775808

无符号0

有符号9223372036854775807

无符号18446744073709551615

浮点数类型

字节

最小值

最大值

FLOAT

4

-1.175494351E-38

3.402823466E+38

DOUBLE

8

-2.2250738585072014E-308

1.7976931348623157E+308

定点数类型

字节

描述

DECMD,

DECIMAL(M,D)

M+2

最大取值范围与DOUBLE相同,给定DECIMAL的有效取值范围由M和D决定

位类型

字节

最小值

最大值

BIT(M)

1~8

BIT(1)

BIT(8)

1.  对于整形数据,MySql还支持在类型名称后面的小括号内指定显示宽度,例如 int(5)表示当数值宽度小于5位的时候在素孩子前面填满宽度,如果不显示指定宽度则默认为int(11).一般配合zerofill使用顾名思义,zerofill就是用“0”填充的意思。

例:创建表t1,有id1和id2两个字段,指定其数值宽度分别为int和int(5).

Create  table  t1(id1 int , id2 int(5) );

Insert  into  t1  values(1,1);

MYSQL支持的数据类型——数值类型 - 珊迪 - 珊迪 

 

分别修改id1和id2的字段类型,加入zerofill参数:

Alter  table  t1  modify  id1  int  zerofill ;

Alter  table  t1  modify  id2  int(5)  zerofill ;

MYSQL支持的数据类型——数值类型 - 珊迪 - 珊迪

插入大于宽度限制的值,还是按照类型的实际精度进行保存。

整数类型还有一个属性:AUTO_INCREMENT。在需要产生唯一标识符或顺序值时,可利用此属性,这个属性只用于整数类型。AUTO_INCREMENT值一般从1开始,每行增加1。在插入NULL到一个AUTO_INCREMENT列时,MySql插入一个比该列中当前最大值大1的值。一个表中最多只能有一个AUTO_INCREMENT列。对于任何想要使用AUTO_INCREMENT的列应该定义为NOT  NULL,并定义为PRIMARY  KEY或定义为UNIQUE键。定义法如下:

Create  table  ai(num  int   auto_increment  not null  primary  key);

 

2.  浮点数和定点数都可以用类型名称后加“(M,D)”的方式来进行表示,该值一共显示M位数字(整数位+小数位)MySql保存值时进行四舍五入,注意:浮点数后面跟“(M,D)”的用法是非标准用法,如果要用于数据库迁移,则最好不要用。Float和double在不指定精度时,默认会按照实际的精度(由实际的硬件和操作系统决定)来显示,而decimal在不指定精度时,默认的整数位为10,默认的小数位为0。

MYSQL支持的数据类型——数值类型 - 珊迪 - 珊迪

MYSQL支持的数据类型——数值类型 - 珊迪 - 珊迪

警告:第三个数据被截断,

接下来作如下操作:

MYSQL支持的数据类型——数值类型 - 珊迪 - 珊迪

3.  对于BIT(位)类型,用于存放位字段值,BIT(M)可以用来存放多位二进制数,M范围从1~64,如果不写则默认为1位。对于位字段,直接使用select命令将不会看到结果,可以用bin()或者hex()函数进行读取。例:

MYSQL支持的数据类型——数值类型 - 珊迪 - 珊迪

数据插入bit类型字段时,首先转换为二进制,如果位数允许,将插入成功;如果位数小于实际定义的位数,则插入失败,

MYSQL支持的数据类型——数值类型 - 珊迪 - 珊迪

0 0
原创粉丝点击