1、MySQL中的小数如何表示,不同表示方法之间有什么区别?
答:(1)可以用浮点类型(float(m,n)、double(m,n))和定点类型(decimal(m,d))表示。
补充:m:精度,标识总共的位数。 n:标度,标识小数的位数。 d:与n类似,无太大的区别。
(2)浮点类型的存储需求是固定的,而定点类型实际是以串存放的,其存储空间不固定,由m决定,占用m+2个字节。
浮点类型和定点类型在插入超过标度的值时,都会进行四舍五入使值限制在标度范围内,但浮点类型不会给出警告,而定点类型会给出截断警告。
浮点类型在未指定精度时会按实际的精度去进行存放(但也会受计算机硬件和操作系统影响),而定点类型在未指定精度时会按(10,0)去进行存放。
浮点类型的优点在于在长度一定的情况下可以表示的数据范围更大,而定点类型的优点在于精度更高。
2、BLOB和TEXT分别适合于存储什么类型的数据?
答:blob适合存储二进制字符串(字节字符串),text适合存储非二进制文本字符串(字符字符串)。
3、说明ENUM和SET类型的区别以及在什么情况下适用?
答:(1)enum与set类型最大的不同就在于enum类型的列在插入值时只能选着一个enum列成员插入,而set类型可以选择多个set列成员进行组合插入。
(2)enum类型适用于在一些值固定独立的情况,例如:性别、年龄等等。
set类型适用于在一些值不固定、可排列组合的情况,例如:爱好、属性等等。