mysql学习--列类型的参数问题
一、整型系列 int (N) unsigned zero fill N和zerofill搭配使用,意思是补0的宽度,(身份证/学号) unsigned表示存储的数据是正数,没有符号 插入snum是12的一行数据 二、浮点/定点型 float和decimal的区别:定点decimal是把一个数的小数部分和整数部分分开存储,比float更加更加精确。像账户这样的敏感数字,建议用decimal存储。 float(A,B) A:精度,小数的总位数 B:标度,小数点右边的个数 float(6,2):-9999.99~9999.99 mysql默认浮点数有符号,无符号时须定义 浮点数所占字节:如果标度<24,占据4个字节,否则占8个字节 三、字符串型 1、char和varchar char(M):定长,如果参数是M,即宽度是M,实际存储的字符i<=M,但是就算是存储的字符小于M,字符实际所占据的空间也是M。当不够M个字符时,内部用空格补齐,取出时再把右侧空格删掉,这意味这右侧本身有空格,取出时会丢失。 varchar(M):变长,如果参数是M,则可以存储的字符是M。如果实际存的字符是i,则实际占据的空间是:i字符+(1~2)个字节。多余的字节用来标志字符长度。 char(M)比varchar(M)查询速度更快 char和varchar限制的是字符,不是字节,即char(2) utf8