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

MySQL에서 날짜 데이터를 저장하는 임시 테이블 만드는 방법

MySQL에서 날짜 데이터를 저장하는 임시 테이블을 만들려면 CREATE TEMPORARY TABLE 문을 사용하면 됩니다. 임시 테이블은 일반 테이블과 달리 현재 세션 동안에만 존재하며, 세션이 종료되면 자동으로 삭제되기 때문에 중간 계산 결과나 임시 데이터를 다룰 때 매우 유용합니다.

기본 문법

날짜 타입의 컬럼을 가진 임시 테이블을 생성하는 기본 문법은 다음과 같습니다.

CREATE TEMPORARY TABLE yourTableName(
    yourColumnName DATETIME
);

임시 테이블 생성 예제

DATETIME 타입의 DueDate 컬럼을 가진 임시 테이블을 생성해 보겠습니다.

mysql> CREATE TEMPORARY TABLE DemoTable
    -> (
    -> DueDate DATETIME
    -> );
Query OK, 0 rows affected (0.00 sec)

데이터 삽입하기

INSERT 명령을 사용해 여러 형태의 날짜 값을 입력합니다. NOW() 함수는 현재 날짜와 시간을, CURDATE() 함수는 현재 날짜만 반환하며, 문자열 형태로도 직접 날짜를 지정할 수 있습니다.

mysql> INSERT INTO DemoTable VALUES(NOW());
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO DemoTable VALUES(CURDATE());
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO DemoTable VALUES('2018-01-21');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO DemoTable VALUES('2019-12-31');
Query OK, 1 row affected (0.00 sec)

저장된 데이터 확인하기

SELECT 문으로 테이블에 저장된 모든 레코드를 조회합니다.

mysql> SELECT * FROM DemoTable;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+---------------------+
| DueDate |
+---------------------+
| 2019-10-27 18:07:41 |
| 2019-10-27 00:00:00 |
| 2018-01-21 00:00:00 |
| 2019-12-31 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)

참고 사항

결과를 보면 NOW()로 삽입된 값은 시간 정보까지 포함되고, CURDATE() 또는 문자열 날짜로 삽입된 값은 시간 부분이 자동으로 '00:00:00'으로 채워지는 것을 확인할 수 있습니다. 이는 DATETIME 타입이 항상 날짜와 시간을 함께 저장하기 때문입니다. 만약 날짜만 필요하다면 DATE 타입을 사용하는 것이 더 적합합니다.