MariaDB数据类型分为三类:数值、日期/时间和字符串(字符类型)
1 数值型
类型
大小
用途
TINYINT
1 字节
小整数值
SMALLINT
2 字节
大整数值
MEDIUMINT
3 字节
大整数值
INT/INTEGER
4 字节
大整数值
BIGINT
8 字节
极大整数值
FLOAT
4 字节
单精度
浮点数值
DOUBLE
8 字节
双精度
浮点数值
DECIMAL
对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2
小数值
2 日期和时间类型
类型
大小
范围
格式
用途
DATE
3 字节
1000-01-01/9999-12-31
YYYY-MM-DD
日期值
TIME
3 字节
‘-838:59:59‘/‘838:59:59‘
HH:MM:SS
时间值或持续时间
YEAR
1 字节
1901/2155
YYYY
年份值
DATETIME
8 字节
1000-01-01 00:00:00/9999-12-31 23:59:59
YYYY-MM-DD HH:MM:SS
混合日期和时间值
TIMESTAMP
8 字节
1970-01-01 00:00:00/2037 年某时
YYYYMMDD HHMMSS
混合日期和时间值,时间戳
3 字符串类型
类型
大小
用途
CHAR
0-255字节
定长字符串
VARCHAR
0-255字节
变长字符串
TINYBLOB
0-255字节
不超过 255 个字符的二进制字符串
TINYTEXT
0-255字节
短文本字符串
BLOB
0-65 535字节
二进制形式的长文本数据
TEXT
0-65 535字节
长文本数据
MEDIUMBLOB
0-16 777 215字节
二进制形式的中等长度文本数据
MEDIUMTEXT
0-16 777 215字节
中等长度文本数据
LOGNGBLOB
0-4 294 967 295字节
二进制形式的极大文本数据
LONGTEXT
0-4 294 967 295字节
极大文本数据
CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。
BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。