MySQL 时间类型
介绍
在MySQL中,时间类型是用来存储和操作日期和时间数据的数据类型。MySQL提供了多种时间类型,每种类型都特定于一种时间解释或持续时间。
MySQL的时间类型包括:
- DATE: 用于存储日期值,格式为’YYYY-MM-DD’。
- TIME: 用于存储时间值,格式为’HH:MM:SS’。
- DATETIME: 用于存储日期和时间值,格式为’YYYY-MM-DD HH:MM:SS’。
- TIMESTAMP: 用于存储日期和时间值,格式为’YYYY-MM-DD HH:MM:SS’。
- YEAR: 用于存储年份值,格式为’YYYY’。
本文将详细介绍每种时间类型,并提供示例代码来演示如何在MySQL中使用这些时间类型。
DATE
DATE类型用于存储日期值,其范围从’1000-01-01’到’9999-12-31’。DATE类型的数据存储为3个字节的固定长度。
创建DATE类型的表格
我们可以使用下面的SQL语句在MySQL中创建一个包含DATE类型的列的表格:
CREATE TABLE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
date_column DATE
);
插入DATE类型的数据
我们可以使用下面的SQL语句向表格中插入DATE类型的数据:
INSERT INTO my_table (date_column) VALUES ('2021-12-31');
查询DATE类型的数据
我们可以使用下面的SQL语句查询表格中的DATE类型的数据:
SELECT * FROM my_table;
+----+------------+
| id | date_column|
+----+------------+
| 1 | 2021-12-31 |
+----+------------+
TIME
TIME类型用于存储时间值,其范围是从’-838:59:59’到’838:59:59’。TIME类型的数据存储为3个字节的固定长度。
创建TIME类型的表格
我们可以使用下面的SQL语句在MySQL中创建一个包含TIME类型的列的表格:
CREATE TABLE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
time_column TIME
);
插入TIME类型的数据
我们可以使用下面的SQL语句向表格中插入TIME类型的数据:
INSERT INTO my_table (time_column) VALUES ('10:30:00');
查询TIME类型的数据
我们可以使用下面的SQL语句查询表格中的TIME类型的数据:
SELECT * FROM my_table;
+----+------------+
| id | time_column|
+----+------------+
| 1 | 10:30:00 |
+----+------------+
DATETIME
DATETIME类型用于存储日期和时间值,其范围是从’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。DATETIME类型的数据存储为8个字节的固定长度。
创建DATETIME类型的表格
我们可以使用下面的SQL语句在MySQL中创建一个包含DATETIME类型的列的表格:
CREATE TABLE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
datetime_column DATETIME
);
插入DATETIME类型的数据
我们可以使用下面的SQL语句向表格中插入DATETIME类型的数据:
INSERT INTO my_table (datetime_column) VALUES ('2021-12-31 10:30:00');
查询DATETIME类型的数据
我们可以使用下面的SQL语句查询表格中的DATETIME类型的数据:
SELECT * FROM my_table;
+----+---------------------+
| id | datetime_column |
+----+---------------------+
| 1 | 2021-12-31 10:30:00 |
+----+---------------------+
TIMESTAMP
TIMESTAMP类型用于存储日期和时间值,其范围是从’1970-01-01 00:00:01′ UTC到’2038-01-19 03:14:07′ UTC。TIMESTAMP类型的数据存储为4个字节的固定长度。
创建TIMESTAMP类型的表格
我们可以使用下面的SQL语句在MySQL中创建一个包含TIMESTAMP类型的列的表格:
CREATE TABLE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
timestamp_column TIMESTAMP
);
插入TIMESTAMP类型的数据
我们可以使用下面的SQL语句向表格中插入TIMESTAMP类型的数据:
INSERT INTO my_table (timestamp_column) VALUES ('2021-12-31 10:30:00');
查询TIMESTAMP类型的数据
我们可以使用下面的SQL语句查询表格中的TIMESTAMP类型的数据:
SELECT * FROM my_table;
+----+---------------------+
| id | timestamp_column |
+----+---------------------+
| 1 | 2021-12-31 10:30:00 |
+----+---------------------+
YEAR
YEAR类型用于存储2位或4位数字的年份值,其范围是从1901到2155。YEAR类型的数据存储为1个字节的固定长度。
创建YEAR类型的表格
我们可以使用下面的SQL语句在MySQL中创建一个包含YEAR类型的列的表格:
CREATE TABLE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
year_column YEAR
);
插入YEAR类型的数据
我们可以使用下面的SQL语句向表格中插入YEAR类型的数据:
INSERT INTO my_table (year_column) VALUES (2022);
查询YEAR类型的数据
我们可以使用下面的SQL语句查询表格中的YEAR类型的数据:
SELECT * FROM my_table;
+----+------------+
| id | year_column|
+----+------------+
| 1 | 2022 |
+----+------------+
总结
MySQL提供了多种时间类型,每种类型都适用于不同的时间解释或持续时间。在使用这些时间类型时,我们需要注意它们的范围和存储方式。在创建表格时,可以根据需要选择适当的时间类型。在插入和查询数据时,应确保时间值符合相应的时间类型的格式。