编辑
2024-03-12
DBNotes
00

目录

分类
数值类型
字符串类型
日期类型
位字段类型
JSON类型
空间数据类型
集合类型
布尔类型
举例说明

分类

数值类型

分类类型大小有符号 (SIGNED) 范围无符号 (UNSIGNED) 范围描述
数值类型TINYINT1 byte(-128, 127)(0, 255)小整数值
SMALLINT2 bytes(-32768, 32767)(0, 65535)大整数值
MEDIUMINT3 bytes(-8388608, 8388607)(0, 16777215)大整数值
INT或INTEGER4 bytes(-2147483648, 2147483647)(0, 4294967295)大整数值
BIGINT8 bytes(-2^63, 2^63-1)(0, 2^64-1)极大整数值
FLOAT4 bytes(-3.402823466 E+38, 3.402823466351 E+38)0 和 (1.175494351 E-38, 3.402823466 E+38)单精度浮点数值
DOUBLE8 bytes(-1.7976931348623157 E+308, 1.7976931348623157 E+308)0 和 (2.2250738585072014 E-308, 1.7976931348623157 E+308)双精度浮点数值
DECIMAL依赖于M(精度)和D(标度)的值依赖于M(精度)和D(标度)的值小数值 (精确定点数)常用于金额

字符串类型

分类类型大小描述
字符串类型CHAR0-255 bytes定长字符串 (如: char(10)) 性能好,适用于用户名
VARCHAR0-65535 bytes变长字符串 (如: varchar(10)) 性能较差,适用于性别
TINYBLOB0-255 bytes不超过255个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

日期类型

分类类型大小范围格式描述
日期类型DATE31000-01-01 至 9999-12-31YYYY-MM-DD日期值
TIME3-838:59:59 至 838:59:59HH:MM
时间值或持续时间
YEAR11901 至 2155YYYY年份值
DATETIME81000-01-01 00:00:00 至 9999-12-31 23:59:59YYYY-MM-DD HH:MM
混合日期和时间值
TIMESTAMP41970-01-01 00:00:01 至 2038-01-19 03:14:07YYYY-MM-DD HH:MM
混合日期和时间值,时间戳

位字段类型

分类类型大小描述
位字段类型BIT1-8 bytes位字段类型

JSON类型

分类类型大小描述
JSON类型JSON可变JSON类型

空间数据类型

分类类型大小描述
空间数据类型GEOMETRY可变几何类型
POINT16 bytes点类型
LINESTRING可变线类型
POLYGON可变多边形类型

集合类型

分类类型描述
集合类型ENUM枚举类型
SET集合类型,字符串对象可以有0个或多个值

布尔类型

分类类型描述
布尔类型BOOLEAN布尔类型(TINYINT(1))

举例说明

sql
CREATE TABLE example_table ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '主键,自增,无符号整数', name VARCHAR(50) NOT NULL COMMENT '变长字符串,最大长度50', age TINYINT SIGNED COMMENT '小整数值,有符号类型', height FLOAT COMMENT '单精度浮点数值', salary DECIMAL(10, 2) COMMENT '小数值,精度为10,小数点后有2位', birth_date DATE COMMENT '日期值', appointment_time TIME COMMENT '时间值', created_at DATETIME COMMENT '混合日期和时间值', updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '时间戳,默认当前时间,更新时自动更新', is_active BOOLEAN COMMENT '布尔类型', profile TEXT COMMENT '长文本数据', avatar BLOB COMMENT '二进制形式的长文本数据', preferences JSON COMMENT 'JSON类型', location POINT COMMENT '空间数据类型的点类型', status ENUM('active', 'inactive', 'pending') COMMENT '枚举类型,有三种可能值', roles SET('admin', 'editor', 'viewer') COMMENT '集合类型,可包含多个角色' );
  • id: 主键,自增,无符号整数。
  • name: 变长字符串,最大长度50。
  • age: 小整数值,有符号类型。
  • height: 单精度浮点数值。
  • salary: 小数值,精度为10,小数点后有2位。
  • birth_date: 日期值。
  • appointment_time: 时间值。
  • created_at: 混合日期和时间值。
  • updated_at: 时间戳,默认当前时间,更新时自动更新。
  • is_active: 布尔类型。
  • profile: 长文本数据。
  • avatar: 二进制形式的长文本数据。
  • preferences: JSON类型。
  • location: 空间数据类型的点类型。
  • status: 枚举类型,有'active', 'inactive', 'pending'三种可能的值。
  • roles: 集合类型,可以包含'admin', 'editor', 'viewer'中的一个或多个值。
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:GYC

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!