MySQL 테이블에 타임스탬프 삽입

Mehvish Ashiq 2023년6월20일
  1. MySQL 테이블 생성
  2. NOW()를 사용하여 타임스탬프를 MySQL 테이블에 삽입
  3. CURRENT_TIMESTAMP()를 사용하여 타임스탬프를 MySQL 테이블에 삽입
  4. MySQL 테이블의 TIMESTAMP 유형 열에 대해 Null 또는 기본값 설정
MySQL 테이블에 타임스탬프 삽입

오늘은 테이블 정의를 기반으로 MySQL 테이블의 TIMESTAMP 타입 컬럼에 날짜와 시간을 삽입하는 방법에 대해 알아보겠습니다.

MySQL 테이블 생성

먼저 이 자습서에서 사용할 테이블을 만듭니다.

예제 코드:

CREATE TABLE demo_one(
    demo_one_id INT NOT NULL,
    demo_one_timestamp TIMESTAMP NOT NULL,
    PRIMARY KEY(demo_one_id)
);

테이블 정의에 대해 자세히 알아보려면 다음과 같이 DESCRIBE를 사용하십시오.

질문:

DESCRIBE demo_one;

출력:

+--------------------+-----------+------+-----+---------+-------+
| Field              | Type      | Null | Key | Default | Extra |
+--------------------+-----------+------+-----+---------+-------+
| demo_one_id        | int       | NO   | PRI | NULL    |       |
| demo_one_timestamp | timestamp | NO   |     | NULL    |       |
+--------------------+-----------+------+-----+---------+-------+
2 rows in set (0.08 sec)

두 속성 모두 NULL 값을 허용하지 않으며 이들에 대한 기본값이 없음을 알 수 있습니다. 이는 두 열의 값을 모두 삽입해야 한다는 의미입니다.

NOW()를 사용하여 타임스탬프를 MySQL 테이블에 삽입

TIMESTAMP를 MySQL 테이블에 삽입하는 첫 번째 방법은 NOW()입니다.

질문:

INSERT INTO demo_one (demo_one_id, demo_one_timestamp)
VALUES
(1, NOW());

SELECT 문을 사용하여 현재 테이블 데이터를 확인합니다.

질문:

SELECT * FROM demo_one;

출력:

+-------------+---------------------+
| demo_one_id | demo_one_timestamp  |
+-------------+---------------------+
|           1 | 2022-05-14 11:04:11 |
+-------------+---------------------+
1 row in set (0.00 sec)

CURRENT_TIMESTAMP()를 사용하여 타임스탬프를 MySQL 테이블에 삽입

CURRENT_TIMESTAMP() 메서드를 사용하여 이전에 생성한 MySQL 테이블에 TIMESTAMP를 삽입할 수도 있습니다.

질문:

INSERT INTO demo_onE (demo_one_id, demo_one_timestamp)
VALUES
(2, CURRENT_TIMESTAMP());

아래와 같이 SELECT 문을 사용하여 테이블의 데이터를 볼 수 있습니다.

질문:

SELECT * FROM demo_one;

출력:

+-------------+---------------------+
| demo_one_id | demo_one_timestamp  |
+-------------+---------------------+
|           1 | 2022-05-14 11:04:11 |
|           2 | 2022-05-14 11:06:01 |
+-------------+---------------------+
2 rows in set (0.03 sec)

MySQL 테이블의 TIMESTAMP 유형 열에 대해 Null 또는 기본값 설정

TIMESTAMP 유형 열에 대한 값을 삽입하지 않으려면 두 가지 방법으로 삽입할 수 있습니다. NULL 값을 허용하도록 해당 열을 설정하거나 열의 기본값을 설정하십시오.

예제 코드(demo_two_timestamp 필드에 null 값 허용):

CREATE TABLE demo_two(
    demo_two_id INT NOT NULL,
    # we can also write the following column definition
    # as `demo_two_timestamp TIMESTAMP NULL`
    demo_two_timestamp TIMESTAMP,
    PRIMARY KEY(demo_two_id)
);

INSERT INTO demo_two (demo_two_id, demo_two_timestamp) VALUES (1,null), (2, NOW());

SELECT * FROM demo_two;

출력:

+-------------+---------------------+
| demo_two_id | demo_two_timestamp  |
+-------------+---------------------+
|           1 | NULL                |
|           2 | 2022-05-14 11:15:18 |
+-------------+---------------------+
2 rows in set (0.04 sec)

여기에서 demo_two_timestamp 열의 값을 삽입하지 않으려면 NULL을 사용할 수 있습니다. 또한 특정 레코드에 대해 NULL을 원하지 않는 경우 NOW() 또는 CURRENT_TIMESTAMP()를 사용하여 올바른 값을 유연하게 삽입할 수 있습니다.

예제 코드(demo_three_timestamp 필드의 기본값 설정):

CREATE TABLE demo_three(
    demo_three_id INT NOT NULL,
    demo_three_timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY(demo_three_id)
);

INSERT INTO demo_three (demo_three_id) VALUES (1);
INSERT INTO demo_three (demo_three_id, demo_three_timestamp) VALUES (2, NOW());
INSERT INTO demo_three (demo_three_id, demo_three_timestamp)
VALUES (3, CURRENT_TIMESTAMP());

SELECT * FROM demo_three;

출력:

+---------------+----------------------+
| demo_three_id | demo_three_timestamp |
+---------------+----------------------+
|             1 | 2022-05-14 11:21:57  |
|             2 | 2022-05-14 11:22:20  |
|             3 | 2022-05-14 11:22:40  |
+---------------+----------------------+
3 rows in set (0.00 sec)

demo_three_timestamp 열의 값을 입력하고 싶지 않거나 NULL을 원하지 않는 경우 위의 예에서 설명한 대로 DEFAULT CURRENT_TIMESTAMP를 사용하여 기본값을 설정할 수 있습니다.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

관련 문장 - MySQL Table

관련 문장 - MySQL Timestamp