1、MySQL中的小数如何表示,不同表示方法之间有什么区别?
答:(1)可以用浮点类型(float(m,n)、double(m,n))和定点类型(decimal(m,n))表示。
m:精度,标识总共的位数。 | ||
n:标度,标识小数的位数。 | ||
d:与n类似,无太大的区别。 | ||
float | 单精度浮点数 | 4个字节 |
duble | 双精度浮点数 | 8个字节 |
decimal(M,N),DEC | 压缩的“严格”定点数 | M+2个字节 |
(2)浮点类型的存储需求是固定的,而定点类型实际是以串存放的,其存储空间不固定,由m决定,占用m+2个字节。浮点类型和定点类型在插入超过标度的值时,都会进行四舍五入使值限制在标度范围内,但浮点类型不会给出警告,而定点类型会给出截断警告。浮点类型在未指定精度时会按实际的精度去进行存放(但也会受计算机硬件和操作系统影响),而定点类型在未指定精度时会按(10,0)去进行存放。浮点类型的优点在于在长度一定的情况下可以表示的数据范围更大,而定点类型的优点在于精度更高。
2、BLOB和TEXT分别适合于存储什么类型的数据?
答:BLOB适合存储二进制字符串(字节字符串),如图片、音频信息,BLOB列没有字符集,并且排序和比较基于列值字节的数值。
TEXT适合存储非二进制文本字符串(字符字符串)如文章内容、评论等。TEXT列有一个字符集,并且根据字符集对值进行排序和比较。
3、说明ENUM和SET类型的区别以及在什么情况下适用?
答:(1)enum与set类型最大的不同就在于enum类型的列在插入值时只能选着一个enum列成员插入,而set类型可以选择多个set列成员进行组合插入。
(2)enum类型适用于在一些值固定独立的情况,例如:性别、年龄等等。set类型适用于在一些值不固定、可排列组合的情况,例如:兴趣、。
4、在MySOL中执行如下算术运算:(9-7)*4,8+15/3,17 DIV 2,39 % 12。
代码:mysql> select (9-7)*4,8+15/3,17 DIV 2,39 % 12;
5、在MySQL中执行如下比较运算:
36>27,15>=8,40<50,15<=15, NULL<=>NULL,NULL<=>1,5<=>5。
代码:mysql> select 36>27,15>=8,40<50,15<=15, NULL<=>NULL,NULL<=>1,5<=>5;
6、在MySQL中执行如下逻辑运算:
4 && 8,-2 || NULL,NULL XOR 0 0 XOR 1,!2。
代码:mysql> select 4 && 8,-2 || NULL,NULL XOR 0 0 XOR 1,!2;
7、在MySQL中执行如下位运算:13 & 17,2018,1420,~16。
代码:mysql> select 13 & 17,2018,1420,~16;