沃梦达 / 编程技术 / 数据库 / 正文

MySQL时间类型和模式详情

MySQL是一种流行的关系型数据库系统,它提供了多种时间类型和模式,用于存储和处理时间数据。本文将详细介绍MySQL时间类型和模式的详细攻略。

MySQL是一种流行的关系型数据库系统,它提供了多种时间类型和模式,用于存储和处理时间数据。本文将详细介绍MySQL时间类型和模式的详细攻略。

时间类型

MySQL支持六种时间类型,分别是:

  • DATE:日期类型,格式为YYYY-MM-DD,用于存储日期数据。
  • TIME:时间类型,格式为HH:MM:SS,用于存储时间数据。
  • DATETIME:日期时间类型,格式为YYYY-MM-DD HH:MM:SS,用于存储日期和时间数据。
  • YEAR:年份类型,格式为YYYY,用于存储年份数据。
  • TIMESTAMP:时间戳类型,格式为YYYY-MM-DD HH:MM:SS,用于存储时间数据,范围为1970-01-01 00:00:01到2038年1月19日03:14:07。
  • DATETIME:日期时间类型,格式为YYYY-MM-DD HH:MM:SS.ssssss,用于存储日期和时间数据,其中ssssss表示微秒。

时间模式

MySQL还支持多种时间模式,用于格式化时间数据。常见的时间模式有:

  • %Y:年份,4位数字
  • %m:月份,2位数字
  • %d:日期,2位数字
  • %H:小时,24小时制,2位数字
  • %h:小时,12小时制,2位数字
  • %i:分钟,2位数字
  • %s:秒钟,2位数字
  • %p:AM或PM(仅用于12小时制)

示例说明

示例一

假设我们需要在MySQL中创建一个名为orders的表,包含订单号、下单日期和下单时间等字段。可以使用以下SQL语句:

CREATE TABLE orders (
  order_id INT PRIMARY KEY,
  order_date DATE,
  order_time TIME
);

在插入数据时,我们可以使用以下SQL语句:

INSERT INTO orders (order_id, order_date, order_time)
VALUES (1, '2021-05-30', '14:30:00');

在查询数据时,我们可以使用以下SQL语句:

SELECT order_id, DATE_FORMAT(order_date,'%Y年%m月%d日') AS order_date, TIME_FORMAT(order_time,'%H时%i分%s秒') AS order_time
FROM orders;

运行以上SQL语句后,我们将得到以下结果:

order_id | order_date  | order_time
------------------------------------
   1     | 2021年05月30日 | 14时30分00秒

示例二

假设我们需要在MySQL中创建一个名为students的表,包含学生姓名、出生日期和注册时间等字段。可以使用以下SQL语句:

CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(20),
  birthday DATE,
  reg_time DATETIME
);

在插入数据时,我们可以使用以下SQL语句:

INSERT INTO students (id, name, birthday, reg_time)
VALUES (1, '小明', '2000-01-01', '2021-05-30 14:30:00');

在查询数据时,我们可以使用以下SQL语句:

SELECT name, DATE_FORMAT(birthday,'%Y年%m月%d日') AS birthday, 
DATE_FORMAT(reg_time,'%Y年%m月%d日 %H时%i分%s秒') AS reg_time
FROM students;

运行以上SQL语句后,我们将得到以下结果:

 name |    birthday   |         reg_time        
-------------------------------------------------
小明  | 2000年01月01日 | 2021年05月30日 14时30分00秒

以上就是MySQL时间类型和模式的详细攻略。

本文标题为:MySQL时间类型和模式详情

基础教程推荐