当前位置:首页 > 行业动态 > 正文

mysql中timestamp类型怎么使用

在MySQL中,TIMESTAMP是一种用于表示日期和时间的数据类型,它使用4个字节的存储空间,可以表示的时间范围从’19700101 00:00:01′ UTC到’20380119 03:14:07′ UTC。TIMESTAMP类型在MySQL中的使用非常广泛,因为它不仅可以表示日期和时间,还具有自动更新的功能。

mysql中timestamp类型怎么使用  第1张

创建表时使用TIMESTAMP类型

在创建表时,可以将某一列的数据类型设置为TIMESTAMP,

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    hire_date TIMESTAMP NOT NULL
); 

在这个例子中,我们创建了一个名为employees的表,其中有一个名为hire_date的列,数据类型为TIMESTAMP。

插入数据时使用TIMESTAMP类型

在插入数据时,可以直接将日期和时间的字符串插入到TIMESTAMP类型的列中,

INSERT INTO employees (name, hire_date) VALUES ('张三', '20220101 10:00:00'); 

也可以使用NOW()函数直接插入当前时间:

INSERT INTO employees (name, hire_date) VALUES ('李四', NOW()); 

查询TIMESTAMP类型的数据

在查询TIMESTAMP类型的数据时,可以使用各种日期和时间函数进行操作,

SELECT name, hire_date, DATE_FORMAT(hire_date, '%Y%m%d %H:%i:%s') as formatted_date FROM employees; 

这个查询将employees表中的name和hire_date列以及格式化后的hire_date列(命名为formatted_date)一起查询出来。

TIMESTAMP类型的自动更新功能

TIMESTAMP类型具有自动更新功能,可以在创建表时设置某一列的DEFAULT值为CURRENT_TIMESTAMP,并设置ON UPDATE子句为CURRENT_TIMESTAMP,这样在插入或更新数据时,该列的值会自动更新为当前时间。

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    action VARCHAR(50) NOT NULL,
    log_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
); 

在这个例子中,我们创建了一个名为logs的表,其中有一个名为log_time的列,数据类型为TIMESTAMP,当插入或更新数据时,log_time列的值会自动更新为当前时间。

总结一下,TIMESTAMP类型在MySQL中的使用主要包括以下几点:

1、在创建表时,可以将某一列的数据类型设置为TIMESTAMP。

2、在插入数据时,可以直接插入日期和时间的字符串,或使用NOW()函数插入当前时间。

3、在查询数据时,可以使用各种日期和时间函数对TIMESTAMP类型的数据进行操作。

4、TIMESTAMP类型具有自动更新功能,可以在创建表时设置某一列的DEFAULT值为CURRENT_TIMESTAMP,并设置ON UPDATE子句为CURRENT_TIMESTAMP,这样在插入或更新数据时,该列的值会自动更新为当前时间。

0