Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

타임스탬프의 경우 MySQL에서 사용되는 데이터 유형은 무엇입니까?

<시간/>

TIMESTAMP 데이터 유형은 날짜 및 시간 부분을 모두 포함하는 값에 사용됩니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable662(
   UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,UserName varchar(100),UserPostDate datetime
);
Query OK, 0 rows affected (0.50 sec)

다음은 유효한 기본 타임스탬프 값에 대한 쿼리입니다 -

mysql> alter table DemoTable662 MODIFY COLUMN UserPostDate TIMESTAMP NOT NULL DEFAULT current_timestamp;
Query OK, 0 rows affected (1.81 sec)
Records: 0 Duplicates: 0 Warnings: 0

다시 한번 테이블 설명을 확인해보자 -

mysql> desc DemoTable662;

이것은 다음과 같은 출력을 생성합니다 -

+--------------+--------------+------+-----+-------------------+----------------+
| Field        | Type         | Null | Key | Default           | Extra          |
+--------------+--------------+------+-----+-------------------+----------------+
| UserId       | int(11)      | NO   | PRI | NULL              | auto_increment |
| UserName     | varchar(100) | YES  |     | NULL              |                |
| UserPostDate | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+--------------+--------------+------+-----+-------------------+----------------+
3 rows in set (0.10 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable662(UserName) values('Chris');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable662(UserName) values('Robert');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable662(UserName,UserPostDate) values('Robert','2018-01-11');
Query OK, 1 row affected (0.27 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable662;

이것은 다음과 같은 출력을 생성합니다 -

+--------+----------+---------------------+
| UserId | UserName | UserPostDate        |
+--------+----------+---------------------+
| 1      | Chris    | 2019-07-20 13:06:13 |
| 2      | Robert   | 2019-07-20 13:06:18 |
| 3      | Robert   | 2018-01-11 00:00:00 |
+--------+----------+---------------------+
3 rows in set (0.00 sec)