Mariadb学习总结(三):数据类型
原创
Mariadb学习总结(三):数据类型
在数据库中,数据类型是定义列中可以存储哪种数据的重要属性。合理选择数据类型对于数据库性能和存储空间的优化至关重要。Mariadb作为MySQL的一个分支,其数据类型与MySQL高度兼容。下面我们来总结一下Mariadb中的常见数据类型。
1. 数值类型
Mariadb提供了多种数值类型,通过数值的大小和精度可以分为以下几类:
- TINYINT:非常小的整数,有符号范围(-128到127),无符号范围(0到255)。
- SMALLINT:小的整数,有符号范围(-32768到32767),无符号范围(0到65535)。
- MEDIUMINT:中等大小的整数,有符号范围(-8388608到8388607),无符号范围(0到16777215)。
- INT/INTEGER:普通大小的整数,有符号范围(-2147483648到2147483647),无符号范围(0到4294967295)。
- BIGINT:大整数,有符号范围(-9223372036854775808到9223372036854775807),无符号范围(0到18446744073709551615)。
- FLOAT:单精度浮点数,占用4个字节,范围大约为(-3.4E38到3.4E38)。
- DOUBLE:双精度浮点数,占用8个字节,范围大约为(-1.8E308到1.8E308)。
- DECIMAL/NUMERIC:定点数,可以指定精度和小数位数,例如DECIMAL(5,2)即总共有5位,其中2位是小数。
2. 字符串类型
字符串类型用于存储文本数据,以下是Mariadb中的常见字符串类型:
- CHAR:固定长度的字符串,最多可以存储255个字符。
- VARCHAR:可变长度的字符串,最多可以存储65535个字符。
- TEXT:存储大文本,分为TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT四种,分别对应不同的存储容量。
- ENUM:枚举类型,可以指定一组预定义的值,只能从中选择一个值插入到表中。
- SET:集合类型,可以指定一组预定义的值,可以从中选择多个值插入到表中。
3. 日期和时间类型
Mariadb提供了以下日期和时间类型:
- DATE:日期,格式为YYYY-MM-DD。
- TIME:时间,格式为HH:MM:SS。
- DATETIME:日期和时间组合,格式为YYYY-MM-DD HH:MM:SS。
- TIMESTAMP:时间戳,存储从1970年1月1日以来的秒数。
4. 二进制类型
二进制类型用于存储二进制数据,例如图片、文件等,以下是常见二进制类型:
- BLOB:二进制大对象,分为TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB四种,分别对应不同的存储容量。
- VARBINARY:可变长度的二进制字符串,最多可以存储65535个字节。
- BYTEA:与VARBINARY类似,用于存储二进制数据。
示例代码:
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age TINYINT NOT NULL,
gender ENUM('M', 'F') NOT NULL,
birth DATE NOT NULL,
score DECIMAL(5,2) NOT NULL
);