mysql常见数据类型:
一、二进制:bit(m)
mysql支持1-64位的二进制数,bit默认1位,使用bit(m)通过m限制取值范围,
![]()
二、数字
(一)整数:tinyint(m)、int(m)、bigint(m)
1、取范围不同,tinyint仅支持(-128-127)或(0-255),
2、m不限制取值范围,仅用于控制数值显示时的位数,

(二)小数:decimal、float、double
1、decimal,是精确的数值,在内部以字符串形式存储,
2、decimal,默认是10位数的整数,不含小数,需要通过(m,d)设置
其中,m表示数值总位数,不含标点和符号,d表示小数点后的位数,m需要对于d,
m最大取值:65,d最大取值:30,

三、字符串
1、char(n),定长字符串,n表示该串固定长度,n的最大值是255,
2、varchar(n),边长字符串,n表示该串的最大长度,n的最大值也是255,
注意:char 搜索速度快,varchar更省空间,

3、text(n),变长较大字符串,n表示该串最大允许长度,n的最大值是65535,
mediumtext(n): A TEXT column with a maximum length of 16,777,215 (2**24 − 1) characters
longtext(n): A TEXT column with a maximum length of 4,294,967,295 or 4GB (2**32 − 1) characters.
4、枚举:enum(值1,值2,值3,……)
枚举:只能在所给列表中选择值,且只可以一次选一个,不常用,

5、集合:set(值1,值2,值3,……)
集合:只能在所给列表中选择值,但一次可以选择多个,注意赋值时语法,
![]()

说明:除上述几种字符串类型之外,mysql 还有一些其他的,如blob(支持以字符串形式保存二进制,可应用在如图片存储中,虽然不常用)等,
四、时间
1、datetime:范围大,不自动添加
2、timestamp:范围小,但自动添加当前时间,
3、具体还有:year、time、date类型,

五、布尔值
mysql本身不含布尔值,通常使用tinyint(1)来伪造一个:0表示假、1及其他值表示真,

浙公网安备 33010602011771号