【MySQL笔记】MySQL中的基本数据类型

整型

类型 字节数
tinyint 1字节
smallint 2字节
mediumint 3字节
int/integer 4字节
bigint 8字节
  • 默认情况下,整型是有符号数。如果使用关键字unsigned来修饰整型就表示无符号数,能够涵盖的数字范围是有符号数的翻倍。
  • 给字段设置int(8)不是表示给这个字段设置8字节的int型数据,而是在表格中,该字段的显示宽度为8位,例如:
alter table tablename modify id int(4) zerofill;

上面的命令可以将表中的id字段设置显示位数为4位,多余的位数用0填充。类似于:



小数类型

浮点数 定点数
float/double decimal
  • 定点数在MySQL内部以字符串的形式保存,适合保存精度高的数据
  • 小数类型可以在类型后面加上(M, D). M表示数字可以显示多少位,D表示小数点后的位数。


字符串类型

类型 存储长度范围
char(n) 定长字符串,0~255
varchar(n) 变长字符串,0~65535
tinytext 变长字符串,0~255
text 变长字符串,0~65535
mediumtext 变长字符串,0~16777215
longtext 变长字符串,0~4294967295



日期时间类型

类型 最小值 最大值
date 1000-01-01 9999-12-31
time -838:59:59 838:59:59
datetime 1000-01-01 00:00:00 9999-12-31 23:59:59
timestamp 1970-01-01 08:00:01 2037年的某个时刻
year 1901 2155
  • year类型的值可以用4位数(默认)或者2位数表示。2位数表示时,70 ~ 99表示的范围是1970 ~ 1999;01 ~ 69表示的范围是2001~2069
  • datetime和timestamp都包括日期和时间,但是前者和时区无关,后者和时区有关。
  • 如果一个表里面有两个字段的类型都是timestamp,第一个字段默认值是current_timestamp,第二个字段的默认值是0000-00-00 00:00:00


复合类型

MySQL中的复合数据类型包括enumset
enum只允许从集合中选择一个值,集合最多可以包含65535个元素
set允许从集合中选择多个元素,集合最多可以包含64个元素


二进制类型

类型 存储长度范围
binary 0~255
varbinary 0~65535
bit 0~64
tinyblob 0~255
blob 0~65535
mediumblob 0~16777215
longblob 0~4294967295

猜你喜欢

转载自blog.csdn.net/AXIMI/article/details/90312763