MySql-重点
数据类型
问题:
1.float和double的区别
float是单精度,double是双精度,double的精确度比float要高,但是float和double都不是绝对精确
2.char和varchar的区别
插入支持的长度是0~255,varchar支持的长度是0~65535,char是定长字符串,varchar是变长的字符串,char是空间换时间的字符串,varchar是时间换空间的字符串,char不会动态的计算时间,varchar会动态的计算时间,从性能上来讲,varchar的性能没有char性能好,但是varchar更节约时间
3.char(32)和varchar(32)括号里面的长度是字节还是字符
MySQL5.0版本之前是字节,假设字符集是UTF-8,一个中文3个字节,那么char(32)只能存储10个中文字符,之后改为了字符
4.用什么类型存储金额
数据库里严禁用float和double存储金额,有两个解决方法
1.使用定点数类型decimal
2.使用长整型,存储到金额最小单位
5.超长文本(博客,文章)怎么存储
严禁使用varchar存储长文本,应该改为Blob类型或者text类型,并且应该把超长文本的字段从当前表拆分出去独立用一张表存储,设置与主表做主外键关联,防止因为出现超长的文本影响存储的效率,超过5000我们把它看做超长文本。