接下来我们学习一下mysql的数据类型
(1)mysql数字类型
mysql支持所有的ansi/iso sql92数字类型
这些类型包括准确数字的数据类型(numeric、decimal、integer、smallint、tinyint和
bigint),也包括近似数字的数据类型(float、real、和double)
price decimal(5,2) #数字总长度:5, 小数位: 2
1.decimal取值范围
decimal(4,1) # -999.9 到 9999.9
2.numeric等价于decimal
decimal和numeice值是作为字符串存储的,而不是作为二进制浮点数。超过精度时,mysql以
该列范围端点值存储该值
3.mysql支持5种整数(有符号/无符号)
tinyint (1个字节 -128-127 0-255)
smallint (2个字节 -32768-32768 0-65535)
mediumint (3个字节 -8388608-8388608 0-16777215)
int (4个字节 -2147483648-2147483648 0-4294967295)
bigint (8个字节 -9223372036854775808-9223372036854775808 0-18446744073709551615)
#price int unsigned 表示只存正数,不带负号
4.整数中插入带小数的数,会丢点小数四舍五入
5.单精度浮点数,4个字节,默认范围:-3.40282e+38-3.40282e+38
1.也可以指定精度, 如: col float(4,2)
2.也可以是无符号数,如: col float(4,2) unsigned
6.双精度浮点数,8个字节,默认范围:-9.999999e+39-9.999999e+39
也可以指定精度,如 col double(4,2)
也可以是无符号数,如 col double(4,2) unsigned
7.日期时间类型
1.datetime、date、timestamp、time和year
合法性的检查是由sql服务器来处理
(1)datetime类型可用于同时包含日期和时间信息的值
mysql以'yyyy-mm-dd hh:mm:ss'格式检索与显示datetime类型
支持的范围是'1000-01-01 00:00:00' 到 '9999-12-31 2.

59'
(2)date类型可用于需要一个日期值而不需要时间部分时
mysql以'yyyy-mm-dd'格式检索与显示date值
支持的范围是'1000-01-01' 到 '9999-12-31'
(3)timestamp值可以从1970-1937之间的任一时刻,精度为一秒
timestamp以'yyyy-mm-dd hh:mm:dd'格式作为字符串返回
(4)time值是以'hh:mm:ss'格式来检索和显示time值
支持的范围可以从'-838

59' 到 '838

59'
小时部分可以>24
(5)year类型是一个以1个字节描述年的类型
支持的范围是1901到2155
8字符串类型有 char、varchar、blob、text、enum和set存放文本和图片
1.固定长度的字符串,如:name char(10),n<255
2.可变长度的字符串,如:name varchar(10),需要11个字节 ,n<255
3.一个blob是一个可以保存可变长度数据的二进制大对象 n<216 开销位: 2
tinyblob n<2(8)
mediumblob n<2(24)
longblob n<2(32)
4.text类似blob
在blob和text类型之间的唯一差别就是,对blob值是以字母大小写敏感的方式进行排序和比
较的,而对text值以忽略字母大小写方式进行排序和比较
5枚举enum是一个字符串对象,其值通常选自一个充许值列表中
level enum("A","B","C","D")