Mysql 数据类型

-------------------

整型

-------------------

注1:关键字INT是INTEGER的同义词。

 

注2:有符号与无符号的区别:

最明显的区别就是二者表示的范围不同:有符号数包括负数,无符号数只有正数, 无符号数中,所有的位都用于直接表示该值的大小。有符号数中最高位用于表示正负,所以,当为正值时,该数的最大值就会变小。我们举一个字节的数值对比: 无符号数: 1111 1111 值:255 1* 27 + 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 有符号数: 0111 1111 值:127 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 同样是一个字节,无符号数的最大值是255,而有符号数的最大值是127。原因是有符号数中的最高位被挪去表示符号了。

 

注3:

 

声明字段是int类型的那一刻起,int就是占四个字节,一个字节8位,也就是4*8=32,可以表示的数字个数是2的32次方(2^32 = 4 294 967 296个数字)。

 

当然如果区分正负号的话所存的数字会比较小。

 

 

int(M),这里的M代表的并不是存储在数据库中的具体的长度,如果以为int(3)只能存储3个长度的数字,int(5)就会存储5个长度的数字,那就大错特错了.

无论是int(3), int(5), 存储的都是4字节无符号整数, 也就是0~2^32。但是,当数字不足3位或5位时,前面会用0补齐。 

 

另外,并不是所有的客户端都会有效果,navicat客户端就没有补齐效果,如下:

---------------------------

浮点型

---------------------------

 

注意:

m-d:整数位最多存放位数,d:小数位数

--------------------------

字符串型

------------------

 

 

注:char和varchar类型的,需要我们自己指定长度,char(n),varchar(n),其余的字符数据类型都有固定长度,不需要再指定长度

注:只要是字符类型,都要设置编码:     字符集:utf8     排序规则:utf8_general_ci

注:mysql 5.X 以上的版本的 定义中 char(n)和varchar(n)中括号中n表示的字符个数,并不代表字节个数,如上varchar(20)你既可以添加20个英文字符,也可以添加二十个中文字符。 表示的字符长度。 

------------------------------- 

日期和时间数据类型

-------------------------------

 

 

posted @ 2019-03-10 13:51  Avicii_2018  阅读(136)  评论(0)    收藏  举报