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

MySQL에서 날짜(DATE) 열이 있는 테이블 생성하는 방법

DATE 타입으로 날짜 열이 있는 테이블 만들기

MySQL에서 날짜 데이터를 저장하는 열이 포함된 테이블을 만들려면 DATE 타입을 사용하면 됩니다. DATE 타입은 'YYYY-MM-DD' 형식의 날짜 값을 저장하며, 시간 정보는 제외됩니다.

먼저 날짜 열이 포함된 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
    (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(20),
    StudentAdmissionDate DATE
    );
Query OK, 0 rows affected (0.47 sec)

테이블에 레코드 삽입하기

INSERT 명령어를 사용하여 테이블에 데이터를 삽입합니다. 현재 날짜를 입력할 때는 now() 또는 curdate() 함수를 활용할 수 있으며, 특정 날짜를 직접 지정할 수도 있습니다.

mysql> insert into DemoTable(StudentName,StudentAdmissionDate) values('Chris',now());
Query OK, 1 row affected, 1 warning (0.12 sec)
mysql> insert into DemoTable(StudentName,StudentAdmissionDate) values('Robert',curdate());
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(StudentName,StudentAdmissionDate) values('David','2019-05-21');
Query OK, 1 row affected (0.16 sec)

저장된 데이터 조회하기

SELECT 문을 사용하여 테이블의 모든 레코드를 확인합니다.

mysql> select * from DemoTable;

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

+-----------+-------------+----------------------+
| StudentId | StudentName | StudentAdmissionDate |
+-----------+-------------+----------------------+
| 1         | Chris       | 2019-04-27           |
| 2         | Robert      | 2019-04-27           |
| 3         | David       | 2019-05-21           |
+-----------+-------------+----------------------+
3 rows in set (0.00 sec)

참고 사항

now() 함수는 날짜와 시간을 모두 반환하지만 DATE 타입 열에 저장될 때는 시간 부분이 잘리고 날짜만 저장됩니다. 반면 curdate() 함수는 처음부터 날짜만 반환하기 때문에 DATE 타입에 더 적합합니다. 또한 위 예시의 Chris 레코드처럼 now() 사용 시 경고(warning)가 발생할 수 있으니 주의하세요.