返回顶部

mysql数据类型

1. 整数类型

MySQL支持在关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。需要注意的是,这个显示宽度跟该数据类型的取值范围、存储空间无关,无论设置成多少,int类型的存储空间都是4字节,signed int的取值范围都是-2147483648 ~ 2147483647。

注意:从8.0.17版本开始,显示宽度已被标记为deprecated,并在将来的版本中完全移除这个功能。

2. 浮点数类型

需要注意的是与整数类型不一样的是,浮点数类型的宽度不会自动扩充。

score double(4,1)--小数部分为1位,总宽度4位,并且不会自动扩充。

3. 字符串类型

CHAR和VARCHAR类型相似,均用于存于较短的字符串,主要的不同之处在于存储方式。CHAR类型长度固定,VARCHAR类型的长度可变。

因为VARCHAR类型能够根据字符串的实际长度来动态改变所占字节的大小,所以在不能明确该字段具体需要多少字符时推荐使用VARCHAR类型,这样可以大大地节约磁盘空间、提高存储效率。

CHAR和VARCHAR表示的是字符的个数,而不是字节的个数。

4. 日期和时间类型

TIMESTEMP类型的数据指定方式与DATETIME基本相同,两者的不同之处在于以下几点:

(1) 数据的取值范围不同,TIMESTEMP类型的取值范围更小。

(2) 如果我们对TIMESTAMP类型的字段没有明确赋值,或是被赋与了NULL值,MySQL会自动将该字段赋值为系统当前的日期与时间。

(3) TIMESTEMP类型还可以使用CURRENT_TIMESTAMP来获取系统当前时间。

(4) TIMESTEMP类型有一个很大的特点,那就是时间是根据时区来显示的。例如,在东八区插入的TIMESTEMP数据为2017-07-11 16:43:25,在东七区显示时,时间部分就变成了15:43:25,在东九区显示时,时间部分就变成了17:43:25。

posted @ 2022-05-07 15:06  圣马丁的阿哥  阅读(36)  评论(0编辑  收藏  举报