欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 【MYSQL】MySQL 数据类型

【MYSQL】MySQL 数据类型

2025/2/26 2:26:54 来源:https://blog.csdn.net/Stromboli/article/details/141336650  浏览:    关键词:【MYSQL】MySQL 数据类型

目录

    • 一、数值数据类型
      • 1. 整数类型
      • 2. 浮点数类型
      • 3. 示例
    • 二、日期和时间数据类型
      • 示例
    • 三、字符串数据类型
      • 1. 字符串类型
      • 2. 示例
    • 四、枚举和集合数据类型
      • 1. 枚举类型
      • 2. 集合类型
      • 3. 示例
    • 五、总结

在 MySQL 中,数据类型用于定义表中列的性质。选择合适的数据类型可以提高数据库的性能和存储效率。本文将详细介绍 MySQL 支持的所有数据类型,包括数值、日期和时间、字符串等类型,并提供表格以便于阅读。
下面是 MySQL 所有数据类型的详细分类,包括每个数据类型的用法和限制。

一、数值数据类型

数值数据类型分为整数类型、浮点数类型和定点数类型。

1. 整数类型

数据类型描述存储大小范围(有符号)范围(无符号)用法示例
TINYINT极小的整数1 byte-128 到 1270 到 255age TINYINT
SMALLINT小整数2 bytes-32,768 到 32,7670 到 65,535height SMALLINT
MEDIUMINT中等大小的整数3 bytes-8,388,608 到 8,388,6070 到 16,777,215score MEDIUMINT
INT / INTEGER大整数4 bytes-2,147,483,648 到 2,147,483,6470 到 4,294,967,295user_id INT
BIGINT超大整数8 bytes-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070 到 18,446,744,073,709,551,615big_number BIGINT
BIT位类型,存储二进制位1-8 bytes0 或 1-is_active BIT

2. 浮点数类型

数据类型描述存储大小精度范围用法示例
FLOAT单精度浮点数4 bytes精度为 7 位数字-3.402823466E+38 到 3.402823466E+38temperature FLOAT
DOUBLE双精度浮点数8 bytes精度为 15 位数字-1.7976931348623157E+308 到 1.7976931348623157E+308price DOUBLE
DECIMAL (M, D)定点数,精确数值可变M 为总位数,D 为小数位数不适用(依赖于 M 和 D 的值)amount DECIMAL(10, 2)

3. 示例

CREATE TABLE numbers (id INT AUTO_INCREMENT PRIMARY KEY,tiny_value TINYINT,small_value SMALLINT,medium_value MEDIUMINT,int_value INT,big_value BIGINT,float_value FLOAT,double_value DOUBLE,decimal_value DECIMAL(10, 2)
);

二、日期和时间数据类型

数据类型描述存储大小范围用法示例
DATE日期,格式为 ‘YYYY-MM-DD’3 bytes‘1000-01-01’ 到 ‘9999-12-31’birth_date DATE
TIME时间,格式为 ‘HH:MM:SS’3 bytes‘-838:59:59’ 到 ‘838:59:59’event_time TIME
DATETIME日期和时间,格式为 ‘YYYY-MM-DD HH:MM:SS’8 bytes‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’created_at DATETIME
TIMESTAMP时间戳,自动更新,格式为 ‘YYYY-MM-DD HH:MM:SS’4 bytes‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-19 03:14:07’ UTCupdated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
YEAR年,格式为 ‘YYYY’1 byte1901 到 2155year_of_birth YEAR

示例

CREATE TABLE events (event_id INT AUTO_INCREMENT PRIMARY KEY,event_date DATE,event_time TIME,event_datetime DATETIME,event_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,event_year YEAR
);

三、字符串数据类型

1. 字符串类型

数据类型描述存储大小用法示例
CHAR(M)固定长度字符串,最多 255 字符M + 1 (如果 M > 0)code CHAR(10)
VARCHAR(M)可变长度字符串,最多 65,535 字符L + 1 或 L + 2 (L 为字符串实际长度)name VARCHAR(100)
TEXT长文本字符串,最多 65,535 字符L + 2 (L 为字符串实际长度)description TEXT
TINYTEXT微小文本字符串,最多 255 字符L + 1 (L 为字符串实际长度)short_description TINYTEXT
MEDIUMTEXT中等大小文本字符串,最多 16,777,215 字符L + 3 (L 为字符串实际长度)content MEDIUMTEXT
LONGTEXT大文本字符串,最多 4,294,967,295 字符L + 4 (L 为字符串实际长度)full_text LONGTEXT
BINARY(M)固定长度二进制数据M + 1 (如果 M > 0)binary_data BINARY(16)
VARBINARY(M)可变长度二进制数据L + 1 或 L + 2 (L 为字符串实际长度)image VARBINARY(65535)
BLOB二进制大对象L + 2 (L 为字符串实际长度)file BLOB
TINYBLOB小型 BLOBL + 1 (L 为字符串实际长度)thumbnail TINYBLOB
MEDIUMBLOB中型 BLOBL + 3 (L 为字符串实际长度)medium_file MEDIUMBLOB
LONGBLOB大型 BLOBL + 4 (L 为字符串实际长度)large_file LONGBLOB

2. 示例

CREATE TABLE documents (doc_id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255),content TEXT,binary_data BLOB
);

四、枚举和集合数据类型

1. 枚举类型

数据类型描述存储大小用法示例
ENUM枚举类型,允许指定一组字符串值1 或 2 bytesstatus ENUM('active', 'inactive', 'pending')

2. 集合类型

数据类型描述存储大小用法示例
SET集合类型,允许存储多个字符串值1, 2, 3, 4 或 8 bytestags SET('tag1', 'tag2', 'tag3')

3. 示例

CREATE TABLE settings (id INT AUTO_INCREMENT PRIMARY KEY,status ENUM('active', 'inactive', 'pending'),tags SET('tag1', 'tag2', 'tag3')
);

五、总结

选择适当的数据类型对于 MySQL 数据库的性能、存储和数据完整性至关重要。理解每种数据类型的特性和适用场景,可以帮助开发者设计出更高效的数据库结构。希望这篇文章能帮助你更好地理解 MySQL 数据类型。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词