MySQL 如何在MySQL中的表中添加一个“创建于”列来设置时间戳?
在MySQL中,我们经常会用到时间戳来记录数据的创建或更新时间。为了方便,我们可以在表的结构中添加一个“创建于”列来记录数据的创建时间。本文将介绍如何在MySQL中添加一个“创建于”列来设置时间戳。
阅读更多:MySQL 教程
准备工作
在进行操作之前,我们需要先了解一些基本知识:
- MySQL的版本:MySQL 5.6及以上版本支持添加时间戳列。
- TIMESTAMP类型:用于存储日期和时间的值,具有自动更新的功能。
添加“创建于”列
1. 创建表
首先,我们需要创建一个包含“创建于”列的表。以下是创建一个名为“users”的表,并添加“创建于”列的示例代码:
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在上面的代码中,我们创建了一个名为“users”的表,其中包含“id”、“name”、“email”和“created_at”列,其中“created_at”列使用了TIMESTAMP类型,并设置了默认值为当前时间(CURRENT_TIMESTAMP)。
2. 插入数据
然后,我们可以向表中插入数据来测试“创建于”列是否正常工作。以下是向“users”表中插入一条数据的示例代码:
INSERT INTO users (name, email) VALUES ('John', 'john@example.com');
3. 查看数据
最后,我们可以使用SELECT语句查询数据并查看“创建于”列是否正常工作。以下是查询“users”表中所有数据的示例代码:
SELECT * FROM users;
查询结果可能会类似于以下内容:
+----+------+------------------+---------------------+
| id | name | email | created_at |
+----+------+------------------+---------------------+
| 1 | John | john@example.com | 2022-01-01 12:00:00 |
+----+------+------------------+---------------------+
可以看到,“created_at”列已经成功自动记录了数据的创建时间。
修改“创建于”列
如果我们想要修改“创建于”列的默认值,可以使用ALTER TABLE语句来修改列的属性。以下是修改“created_at”列默认值为“2019-01-01 00:00:00”的示例代码:
ALTER TABLE users MODIFY created_at TIMESTAMP DEFAULT '2019-01-01 00:00:00';
在上面的代码中,我们使用ALTER TABLE语句来修改“users”表中“created_at”列的属性,将其默认值修改为“2019-01-01 00:00:00”。
结论
通过本文,我们了解了如何在MySQL中的表中添加一个“创建于”列来设置时间戳,并对默认值进行修改。在实际开发过程中,我们可以根据具体需求来设置时间戳列,以便更好地管理数据。
极客笔记