当前位置:实例文章 » 其他实例» [文章]MySQL数据类型详解

MySQL数据类型详解

发布人:shili8 发布时间:2025-01-16 10:13 阅读次数:0

**MySQL 数据类型详解**

MySQL 是一种流行的关系数据库管理系统,支持多种数据类型以存储不同类型的数据。理解这些数据类型对于设计和优化 MySQL 数据库至关重要。在本文中,我们将详细介绍 MySQL 的各种数据类型。

### 整型整型(Integer)是用于存储整数值的数据类型。MySQL 中有两种整型:TINYINT、SMALLINT、MEDIUMINT 和 BIGINT。

* **TINYINT**:占用1 个字节,范围从 -128 到127。
* **SMALLINT**:占用2 个字节,范围从 -32768 到32767。
* **MEDIUMINT**:占用3 个字节,范围从 -8388608 到8388607。
* **BIGINT**:占用8 个字节,范围从 -9223372036854775808 到9223372036854775807。

sqlCREATE TABLE test (
 id TINYINT,
 age SMALLINT,
 salary MEDIUMINT,
 balance BIGINT);

INSERT INTO test (id, age, salary, balance)
VALUES (1,20,50000,1000000);


### 浮点型浮点型(Floating-point)用于存储小数值。MySQL 中有两种浮点型:FLOAT 和 DOUBLE。

* **FLOAT**:占用4 个字节,精度约为7 位数字。
* **DOUBLE**:占用8 个字节,精度约为15 位数字。

sqlCREATE TABLE test (
 price FLOAT,
 balance DOUBLE);

INSERT INTO test (price, balance)
VALUES (12.99,1000.00);


### 字符型字符型(Character)用于存储字符串值。MySQL 中有两种字符型:CHAR 和 VARCHAR。

* **CHAR**:固定长度的字符串,占用1 到255 个字节。
* **VARCHAR**:可变长度的字符串,最大长度为65535 个字节。

sqlCREATE TABLE test (
 name CHAR(10),
 description VARCHAR(100)
);

INSERT INTO test (name, description)
VALUES ('John Doe', 'This is a sample description.');


### 日期型日期型(Date)用于存储日期值。MySQL 中有两种日期型:DATE 和 DATETIME。

* **DATE**:占用3 个字节,格式为 YYYY-MM-DD。
* **DATETIME**:占用8 个字节,格式为 YYYY-MM-DD HH:MM:SS。

sqlCREATE TABLE test (
 birthdate DATE,
 creation_time DATETIME);

INSERT INTO test (birthdate, creation_time)
VALUES ('1990-01-01', '2022-07-2514:30:00');


### 时间型时间型(Time)用于存储时间值。MySQL 中有两种时间型:TIME 和 TIMESTAMP。

* **TIME**:占用3 个字节,格式为 HH:MM:SS。
* **TIMESTAMP**:占用4 个字节,格式为 YYYY-MM-DD HH:MM:SS。

sqlCREATE TABLE test (
 start_time TIME,
 last_updated TIMESTAMP);

INSERT INTO test (start_time, last_updated)
VALUES ('14:30:00', '2022-07-2514:30:00');


### 位型位型(Bit)用于存储布尔值或二进制数据。MySQL 中有两种位型:BIT和BOOL。

* **BIT**:占用1 到8 个字节,表示0 到64 个位。
* **BOOL**:占用1 个字节,表示 true 或 false。

sqlCREATE TABLE test (
 is_active BIT,
 is_admin BOOL);

INSERT INTO test (is_active, is_admin)
VALUES (TRUE, TRUE);


### JSON型JSON型(JSON)用于存储 JSON 数据。MySQL 中有两种 JSON 型:JSON 和 JSONB。

* **JSON**:占用1 到65535 个字节,表示 JSON 对象或数组。
* **JSONB**:占用1 到65535 个字节,表示 JSON 对象或数组,并支持索引和查询。

sqlCREATE TABLE test (
 data JSON,
 metadata JSONB);

INSERT INTO test (data, metadata)
VALUES ('{"name": "John", "age":30}', '{"id":1, "created_at": "2022-07-25"}');


### 综合示例
sqlCREATE TABLE users (
 id INT PRIMARY KEY,
 name CHAR(10),
 email VARCHAR(100),
 birthdate DATE,
 creation_time DATETIME,
 start_time TIME,
 is_active BIT,
 is_admin BOOL,
 data JSON,
 metadata JSONB);

INSERT INTO users (id, name, email, birthdate, creation_time, start_time, is_active, is_admin, data, metadata)
VALUES (
1,
 'John Doe',
 'john@example.com',
 '1990-01-01',
 '2022-07-2514:30:00',
 '14:30:00',
 TRUE,
 TRUE,
 '{"name": "John", "age":30}',
 '{"id":1, "created_at": "2022-07-25"}'
);


本文介绍了 MySQL 中的各种数据类型,包括整型、浮点型、字符型、日期型、时间型、位型和 JSON 型。这些数据类型可以帮助您设计和优化您的 MySQL 数据库。

相关标签:mysql
其他信息

其他资源

Top