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(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个英文字符,也可以添加二十个中文字符。 表示的字符长度。 

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

日期和时间数据类型

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

 

原文地址:https://www.cnblogs.com/yaoze2018/p/10505114.html