>  기사  >  데이터 베이스  >  MySQL 타임스탬프 이해: 기능, 특징 및 애플리케이션 시나리오

MySQL 타임스탬프 이해: 기능, 특징 및 애플리케이션 시나리오

WBOY
WBOY원래의
2024-03-15 16:36:031058검색

MySQL 타임스탬프 이해: 기능, 특징 및 애플리케이션 시나리오

MySQL 타임스탬프는 날짜, 시간 또는 날짜와 시간을 저장할 수 있는 매우 중요한 데이터 유형입니다. 실제 개발 과정에서 타임스탬프를 합리적으로 사용하면 데이터베이스 운영 효율성을 높이고 시간 관련 쿼리 및 계산을 용이하게 할 수 있습니다. 이 기사에서는 MySQL 타임스탬프의 기능, 특징 및 애플리케이션 시나리오를 논의하고 특정 코드 예제를 통해 설명합니다.

1. MySQL 타임스탬프의 기능 및 특징

MySQL에는 두 가지 유형의 타임스탬프가 있습니다. 하나는 TIMESTAMP이고 다른 하나는 DATETIME입니다. 아래에 소개된 다양한 기능과 특성을 가지고 있습니다. TIMESTAMP,另一种是 DATETIME。它们有不同的功能和特性,下面分别介绍:

  1. TIMESTAMP

    • 存储范围为从 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC。
    • 存储的时间将会根据时区转换为UTC时间进行存储。
    • 当插入一条新数据时,TIMESTAMP 列会自动更新为当前的时间戳。
  2. DATETIME

    • 存储范围为 1000-01-01 00:00:009999-12-31 23:59:59
    • 不会根据时区进行转换,存储的是实际插入的日期时间。
    • 插入数据时不会自动更新为当前时间,需要手动设置。

二、应用场景

  1. 记录数据的创建时间和更新时间:

    CREATE TABLE example_table (
        id INT PRIMARY KEY AUTO_INCREMENT,
        data VARCHAR(255),
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    );

    在这个示例中,我们创建了一个表,记录了数据的创建时间和更新时间。通过设置 created_at 列为 DEFAULT CURRENT_TIMESTAMP,在插入数据时自动记录当前时间戳;而设置 updated_at 列为 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

    1. TIMESTAMP:
      • 저장 범위는 1970-01-01 00:00:01부터입니다. UTC를 2038-01-19 03:14:07 UTC로 변경합니다.

        저장된 시간은 저장 시간대에 따라 UTC 시간으로 변환됩니다.

    2. 새 데이터가 삽입되면 TIMESTAMP 열이 자동으로 현재 타임스탬프로 업데이트됩니다.
    3. DATETIME:

      • 저장 범위는 1000-01-01 00:00:00 ~ 9999-12입니다. - 31 23:59:59.

      타임존에 따라 변환되지 않으며 실제 삽입된 날짜와 시간이 저장됩니다.

      데이터를 삽입하면 현재 시간으로 자동 업데이트되지 않으므로 수동으로 설정해야 합니다.

      🎜🎜🎜 2. 응용 시나리오 🎜
        🎜🎜데이터 생성 시간 및 업데이트 시간 기록: 🎜
        SELECT * FROM example_table WHERE created_at >= '2022-01-01 00:00:00' AND created_at <= '2022-12-31 23:59:59';
        🎜이 예에서는 데이터 생성 시간 및 업데이트 시간을 기록하는 테이블을 생성합니다. created_at 열을 DEFAULT CURRENT_TIMESTAMP로 설정하면 데이터를 삽입할 때 현재 타임스탬프가 자동으로 기록되고 updated_at 열을 DEFAULT로 설정합니다. CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 데이터가 업데이트될 때 타임스탬프가 업데이트됩니다. 🎜🎜🎜🎜지정된 시간 범위 내의 데이터 쿼리: 🎜
        SELECT TIMEDIFF('2022-01-01 12:00:00', '2022-01-01 08:00:00');
        🎜이 쿼리 문은 2022년에 생성된 데이터 레코드를 반환합니다. 시간 범위 쿼리는 타임스탬프를 사용하여 쉽게 수행할 수 있습니다. 🎜🎜🎜🎜시간 간격 계산: 🎜rrreee🎜이 쿼리 문은 두 타임스탬프 사이의 시간 간격을 반환하며, 이는 두 날짜와 시간의 차이를 계산하는 데 사용할 수 있습니다. 🎜🎜🎜🎜3. 요약🎜🎜MySQL 타임스탬프는 데이터의 시간 정보를 기록하고, 시간 범위 쿼리를 수행하고, 시간 간격 및 기타 작업을 계산하는 데 도움이 되는 매우 실용적인 데이터 유형입니다. 타임스탬프를 합리적으로 사용하면 데이터베이스 운영 효율성이 향상되고 데이터 관리 및 분석이 용이해집니다. 이 기사가 독자들이 MySQL 타임스탬프의 기능, 특징 및 애플리케이션 시나리오를 이해하는 데 도움이 되기를 바랍니다. 🎜

      위 내용은 MySQL 타임스탬프 이해: 기능, 특징 및 애플리케이션 시나리오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

      성명:
      본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.