1. 数字:
整型:tinyinit int bigint
这里面的tinyinit int bigint,分别指不同的数字宽度,依次从最小到最大
还有int(5)后面括号里的数字,对于存是没有任何差别,而对于取,如果存的数字没有5个宽,
那么前面会加上0以凑齐5个,如:输入123,则输出为00123.但是一般不显示出来
这时候加上zerofill 的话就可以显示出来
create table n3(x int(3) zerofill)
只要数字不足三位,那么就会前面加上0.
小数:
float :在位数比较短的情况下不精准
double :在位数比较长的情况下不精准
0.000001230123123123
存成:0.000001230000
decimal:(如果用小数,则用推荐使用decimal)
精准
内部原理是以字符串形式去存
其中decimal,还有小数其他形式是以decimal(10,5),表示总共10位数,小数点后面只能跟5位,超过的会以四舍五入运算.
并且前面不能数字不能超过5位,超过5位就报错.如果小数点不足,那么就会用0加到后面凑齐5位.
2. 字符:
char(10)
存取速度快,占用空间大,简单粗暴.
char(10)==>char(name)==>char(name000000),当位数不够则用0补.
存也存10位,取也是取10位,所以速度快.
varchar(10)
存取速度慢,空间小,省空间.精准