MySQL에서는 now() 함수를 사용하면 현재 날짜와 시간을 간단하게 테이블에 삽입할 수 있습니다. 이 함수는 SQL 문이 실행되는 시점의 날짜와 시간을 자동으로 반환하기 때문에, 레코드 생성 시각이나 수정 시각을 기록할 때 매우 유용합니다.
기본 문법
now() 함수를 사용해 현재 날짜/시간을 삽입하는 기본 문법은 다음과 같습니다.
INSERT INTO yourTableName VALUES(now());
실습 예제
개념을 제대로 이해하기 위해 먼저 실습용 테이블을 생성해 보겠습니다. DATETIME 타입의 컬럼 하나를 가진 테이블입니다.
mysql> CREATE TABLE CurrentDateTimeDemo -> ( -> YourTime DATETIME -> ); Query OK, 0 rows affected (0.58 sec)
테이블이 정상적으로 생성되었다면, 이제 now() 함수를 사용해 현재 날짜와 시간을 삽입해 보겠습니다.
mysql> INSERT INTO CurrentDateTimeDemo VALUES(now()); Query OK, 1 row affected (0.20 sec)
삽입 결과 확인
데이터가 올바르게 저장되었는지 SELECT 문으로 확인할 수 있습니다.
mysql> SELECT * FROM CurrentDateTimeDemo;
실행 결과를 보면 now() 함수를 통해 현재 날짜와 시간이 성공적으로 삽입된 것을 확인할 수 있습니다.
+---------------------+ | YourTime | +---------------------+ | 2018-12-08 19:08:41 | +---------------------+ 1 row in set (0.00 sec)
참고 사항
now() 함수 외에도 MySQL에서는 CURRENT_TIMESTAMP, LOCALTIME(), SYSDATE() 등 유사한 기능을 하는 함수들이 있습니다. 또한 테이블 생성 시 컬럼에 DEFAULT CURRENT_TIMESTAMP 옵션을 지정하면, 별도의 INSERT 구문 없이도 새 레코드가 추가될 때마다 자동으로 현재 시간이 기록되므로 상황에 맞게 활용하시기 바랍니다.