Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에 현재 날짜와 시간 삽입하는 방법: CURDATE()와 NOW() 함수 완벽 가이드

MySQL에서 현재 날짜 또는 날짜·시간을 삽입하는 방법

MySQL에서 테이블에 현재 날짜를 삽입할 때는 내장 함수 CURDATE()를 사용하면 됩니다. 이 함수는 시간 정보 없이 오늘 날짜만 반환합니다.

INSERT INTO yourTableName values(curdate());

반면, 날짜와 시간을 모두 함께 저장하고 싶다면 내장 함수 NOW()를 사용하는 것이 좋습니다. NOW() 함수는 현재 날짜와 시각을 함께 반환합니다.

INSERT INTO yourTableName values(now());

예제 테이블 생성하기

두 함수의 사용법을 실제로 확인해 보기 위해 먼저 예제용 테이블을 생성해 보겠습니다. 아래 쿼리로 datetime 타입의 컬럼을 가진 테이블을 만들 수 있습니다.

mysql> create table NowAndCurdateDemo
   -> (
   -> YourDueDate datetime
   -> );
Query OK, 0 rows affected (1.75 sec)

CURDATE()와 NOW()로 데이터 삽입하기

이제 두 함수를 각각 사용하여 현재 날짜와 날짜·시간 데이터를 테이블에 삽입해 보겠습니다. 먼저 CURDATE() 함수로 현재 날짜를 삽입합니다.

mysql> insert into NowAndCurdateDemo values(curdate());
Query OK, 1 row affected (0.28 sec)

mysql> insert into NowAndCurdateDemo values(now());
Query OK, 1 row affected (0.14 sec)

삽입된 데이터 확인하기

데이터가 정상적으로 삽입되었는지 확인하려면 다음과 같은 SELECT 쿼리를 실행합니다.

mysql> select *from NowAndCurdateDemo;

실행 결과는 다음과 같습니다.

+---------------------+
| YourDueDate         |
+---------------------+
| 2018-12-05 00:00:00 |
| 2018-12-05 21:24:10 |
+---------------------+
2 rows in set (0.06 sec)

결과 분석

출력 결과를 살펴보면 두 레코드의 차이를 명확히 알 수 있습니다. CURDATE() 함수로 삽입된 첫 번째 레코드는 시간 부분이 '00:00:00'으로 표시됩니다. 즉, 날짜만 저장되고 시간은 자정으로 초기화된 것입니다. 반면 NOW() 함수로 삽입된 두 번째 레코드는 실제 삽입 시점의 시각인 '21:24:10'까지 함께 저장된 것을 확인할 수 있습니다.

참고로, 컬럼 타입이 DATE인 경우에는 CURDATE()가 적합하고, DATETIME 또는 TIMESTAMP 타입인 경우에는 용도에 따라 NOW() 또는 CURDATE()를 선택하여 사용하면 됩니다.