对于时间戳,MySQL 中使用哪种数据类型?
mysqlmysqli database更新于 2025/10/19 10:20:17
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)
使用 insert 命令在表中插入一些记录 −
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)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

