问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

MySQL数据类型详解及代码示例

创作时间:
作者:
@小白创作中心

MySQL数据类型详解及代码示例

引用
CSDN
1.
https://blog.csdn.net/qq_33502371/article/details/140765079

在数据库设计中,选择合适的数据类型对于数据库的性能和存储效率至关重要。MySQL作为最流行的关系型数据库管理系统之一,提供了丰富的数据类型供开发者选择。本文将详细介绍MySQL中常见的数据类型,并附上相应的代码示例,帮助读者更好地理解和应用这些数据类型。

数值类型

整数类型

整数类型用于存储整数值,MySQL提供了多种整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT等。这些类型根据存储的位数不同,有各自的取值范围和存储需求。

示例代码

CREATE TABLE students (
    id INT PRIMARY KEY,
    age TINYINT UNSIGNED  -- 假设年龄不会超过255
);

浮点数和定点数类型

浮点数类型(FLOAT、DOUBLE)用于存储近似数值,而定点数类型(DECIMAL)用于存储精确数值。FLOAT是单精度浮点数,占用4个字节;DOUBLE是双精度浮点数,占用8个字节;DECIMAL则需要指定精度和小数位数。

示例代码

CREATE TABLE products (
    id INT PRIMARY KEY,
    price DECIMAL(10, 2)  -- 假设价格最多有10位数字,其中2位是小数
);

CREATE TABLE measurements (
    id INT PRIMARY KEY,
    temperature DOUBLE  -- 适用于需要高精度的科学计算
);

字符串类型

定长字符串(CHAR)

CHAR类型用于存储固定长度的字符串,最大长度为255个字符。如果存储的字符串长度小于指定的长度,MySQL会在右侧填充空格以达到指定的长度。

示例代码

CREATE TABLE countries (
    id INT PRIMARY KEY,
    country_code CHAR(2)  -- 国家代码,如US、CN
);

可变长度字符串(VARCHAR)

VARCHAR类型用于存储可变长度的字符串,最大长度为65535个字符(实际限制可能受字符集和行大小影响)。VARCHAR类型根据实际存储的字符串长度来分配存储空间,因此更加节省空间。

示例代码

CREATE TABLE users (
    id INT PRIMARY KEY,
    username VARCHAR(50)  -- 用户名,长度可变
);

文本类型(TEXT)

TEXT类型用于存储长文本数据,MySQL提供了TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT四种类型,分别对应不同的存储长度。

示例代码

CREATE TABLE articles (
    id INT PRIMARY KEY,
    content TEXT  -- 文章内容,可能很长
);

日期和时间类型

MySQL提供了多种日期和时间类型,包括DATE、TIME、DATETIME、TIMESTAMP和YEAR等。

示例代码

CREATE TABLE events (
    id INT PRIMARY KEY,
    event_date DATE,  -- 事件日期
    start_time TIME,  -- 开始时间
    registration_time DATETIME  -- 注册时间,包含日期和时间
);

二进制类型

二进制类型用于存储二进制数据,如图片、文件等。MySQL提供了BIT、BINARY、VARBINARY和BLOB等类型。

示例代码

CREATE TABLE images (
    id INT PRIMARY KEY,
    image_data BLOB  -- 存储图片数据
);

特殊类型

MySQL还支持一些特殊类型,如ENUM(枚举类型)、SET(集合类型)和JSON等。

ENUM类型示例

CREATE TABLE shirts (
    id INT PRIMARY KEY,
    size ENUM('S', 'M', 'L', 'XL')  -- 衬衫尺码
);

JSON类型示例

CREATE TABLE users_info (
    id INT PRIMARY KEY,
    profile JSON  -- 存储用户配置文件,如{"name": "John", "age": 30}
);
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号