5.1.1 整数类型
整数类型 TINYINT SMALLINT MEDIUMINT INT BIGINT 。分别占12348字节。
INT(11)后面的数字11,表示的是这个数据能够显示的宽度。显示宽度只用于显示,不能限制取值范围与占用空间。
这里的宽度是指:如果插入的数据小于这个宽度,这个数值会由MySQL进行填充。
5.1.2 浮点类型与定点数类型
浮点类型有两种:单精度浮点类型FLOAT,双精度浮点类型DOUBLE。它们的区别仅在存储范围不同。分别占4,8字节。
定点类型有一种:DECIMAL。用法与FLOAT、DOUBLE一样。只不过它的占位是 M+2 字节。
浮点类型与定点类型都可以使用 (M,N)表示。其中M成为精度,N成为标度。
M表示总长度,整数位+小数位。 N表示小数位。
插入的时候,按照保留小数位四舍五入。
5.1.3 日期类型 (简写形式略)
(1)首先要了解的是 NOW()函数,返回的是 'YYYY-MM-DD HH:MM:SS',能够适用于任何的时间类型的插入。它会被截取为适当的时间,比如插入到 YEAR类型,就插入当前的YYYY。如果插入到TIME类型,那么就插入到当前的 HH:MM:SS。
(2)若为DATETIME插入的只有DATE格式的数据,那么它的时间部分用 00:00:00补齐。其它道理也一样。
(1)YEAR的格式是 YYYY 。 范围是1901年到2155年 。超过这个时间报错。1个字节。支持数组与字符串插入。
不支持数字,必须要加引号。3字节。
向系统插入当前时间。 CURRENT_TIME、 NOW() 都能表示当前的时间。
(3)Date类型。年月日类型。3字节。
存储年月日。需要3个字节。格式为'YYYY-MM-DD' 或者 'YYYYMMDD'或YYYYMMDD。(注 year month day)
MySQL允许不严格的语法,任何标点符号都能作为日期部分之间的间隔符。如'1998.11.12'、'1996@05@19'
CURRENT_DATE、NOW()
(4)DATETIME。包含日期+当天时间 的类型。存储需要8个字节。占位最大的数据类型。跨时间段最广。
DATETIME的格式是 'YYYY-MM-DD HH:MM:SS' 或者是 'YYYYMMDDHHMMSS'或YYYYMMDDHHMMSS等
DATETIME时间类型在引号下,可以用任意分割!
(5)TIMESTAMP。显示的格式效果与DATETIME一样,但是范围没有它广。可以使用'任意分隔符'。这么说吧,越长的时间格式,它的要求越不严格。
DATETIME与TIMESTAMP的区别
DATETIME格式的时间,按实际输入的数据格式。
世界标准时间格式存储的。存储时,先把当地时区的时间换算成世界标准时间,取出的时候,再把世界标准时间换算成当地时区的时间。 当地时间 <=====> 世界标准时间
.