码迷,mamicode.com
首页 > 数据库 > 详细

MySQL的数值类型,时间

时间:2016-11-24 18:54:29      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:round   time   指定   span   mysq   数值类型   php   date   占用   

数值类型

整数型  tinyint  smallint  mediumint  int|integer  bigint

技术分享

注意:

1, 如何选择数据类型,我们的原则是:够用就行!尽量的选择占用内存小的整型,而且效率也更快!

2,可以使用unsigned来控制是否有符号位,如果不写,缺省值是有符号的

MySQL不会进行自动类型转换,如果超出了指定类型的范围,就直接报错!

3,可以指定数据显示的最小宽度,以达到统一显示的目的,通常的做法就是使用zerofill来进行填充

如果插入的数据,超出了指定的显示宽度,不影响原有的数据,该怎么显示就怎么显示:

4,其实,在MySQL中,也有bool型,但其实就是tinyint(1)的别名!

小数型  又可以分成浮点数和定点数!

技术分享

浮点数  分成了单精度型和双精度型!其中单精度占4个字节,而双精度占8个字节!

单精度的有效位在6-7位之间,而双精度的有效位在16-17位之间!所以,我们在插入浮点数的时候也要注意,有时候没有超过浮点数的范围,但是超出了浮点数的精度!

注意:  1,浮点数还支持控制数字的范围,语法形式为:type(M,D)这里的type是指floatdouble

M:表示是所有数值位的范围(包括整数和小数部分,不包括小数点)D:表示小数的位数的范围,小数超出的部分会四舍五入

2,同php一样,浮点数也支持科学计数法

定点数  采用定点数存储!关键字:decimal

定点数策略:每当出现连续的9位数的时候,用4个字节单独存储,而且整数部分和小数部分分开存储!

定点数优缺点:  优点:所有的数据都会被精确的存储,不会造成数据的丢失!  缺点:占用的空间较大

注意:1, decimal同样支持decimal(M,D)语法此时,M指的是总位数,D代表小数的位数,默认的情况下,M10D0

2, decimal同样也支持zerofill语法由于货币值往往都是decimal型,所以decimal型也叫作货币型!

日期时间型

技术分享

datetime 和 timestamp

datetimetimestamp的显示形式和插入形式基本上是一样的,只是存储形式和能表示的日期的范围不一样,在timestamp中存储是整型,但是其显示形式和插入形式和datetime一样都是年月日时分秒 

注意:  插入数据的时候可以支持任意的格式,使用什么分隔符不重要,日期的范围和格式才重要!  

     另外,还可以使用mysql内部的一个函数now()来插入,意思就是当前的年月日时分秒

date  相当于datetime的一个“子集”,只有年与日没有时分秒!

time  time型有两个含义:1, 一天中的时间(也就是datetime中的一个“子集”,只有时分秒)

              2, 表示时间间隔,表示时间的间隔的时候,格式为,D HH:MM:SS也就是    时:分:秒

year  只表示年份,但是年份可以简写,比如现实中98年认为是1998年!范围比较小,只能是1901年到2155年,因为只占一个字节!

注意: 如果年份只写两位,大于等于70的就代表19XX年,小于等于69的代表20XX年!

技术分享

技术分享

 

 

 

 

 

MySQL的数值类型,时间

标签:round   time   指定   span   mysq   数值类型   php   date   占用   

原文地址:http://www.cnblogs.com/czhd666/p/6098602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!