1,数据类型
- 分不同种类去存不同类型的数据
- 储存引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种类型都有自己的宽度,但宽度是可选的
2,数字
- 整型
- 小整数:
- 有符号:tinyint -128···127
- 无符号:unsigned 0---255
- create table t1(id tinyint unsigned);
- mysql中没有布尔值,使用tinyint(1)构造
- int
- bigint
- 浮点型
- 单精度浮点数:float(a,b)
- 多精度浮点数:double(a,b)
- 更精度浮点数:decimal(a,b)
- a 为整数部分加小数部分,b 为小数部分
3,字符
- char
- 简单粗暴,不够用就用空格凑够固定长度存放起来,浪费空间,但是储存速度快,牺牲空间,提高速度
- varchar
- 精准,计算出代存放数据的长度,节省空间,存取速度慢
- 牺牲速度,提高效率
- 总结:
- varchar:用来最小化需要处理的数据的储存总量和磁盘IO是比较好的
- 如果是大型开发 项目,看需求
4,日期
- time:几点几分几秒
- data:某年某月某日
- datatime:某年某月某日 某时某分某秒
- year:某年
5,枚举和集合
- 字段的值只能在给定的范围中选择
- enum: 只能取规定范围内的一个
- set:集合,可以去规定范围内的一个或者多个