MySQL 如何将自定义日期插入MySQL时间戳字段?

MySQL 如何将自定义日期插入MySQL时间戳字段?

MySQL中的时间戳字段是表示日期和时间的数值类型,通常用于存储某个事件发生的精确时间。在插入数据时,可以使用系统的当前时间作为默认值,也可以使用自定义日期。下面介绍如何将自定义日期插入MySQL时间戳字段。

阅读更多:MySQL 教程

方法一:使用字符串形式插入

可以将自定义日期转换为字符串形式,然后将字符串插入到时间戳字段中,MySQL会自动将字符串转换为时间戳。

示例代码(使用PHP):

$date = '2021-12-31 23:59:59';
$sql = "INSERT INTO mytable (id, timestamp_field) VALUES (1, '$date')";

示例代码(使用Python):

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO mytable (id, timestamp_field) VALUES (%s, %s)"
val = (1, '2021-12-31 23:59:59')

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

方法二:使用UNIX_TIMESTAMP函数插入

UNIX_TIMESTAMP函数可以将日期时间字符串转换为时间戳,并将结果插入到时间戳字段中。

示例代码(使用PHP):

$date = '2021-12-31 23:59:59';
$sql = "INSERT INTO mytable (id, timestamp_field) VALUES (1, UNIX_TIMESTAMP('$date'))";

示例代码(使用Python):

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO mytable (id, timestamp_field) VALUES (%s, UNIX_TIMESTAMP(%s))"
val = (1, '2021-12-31 23:59:59')

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

方法三:使用STR_TO_DATE函数插入

STR_TO_DATE函数可以将日期字符串按照指定格式转换为日期时间对象,并将日期时间对象转换为时间戳,然后将结果插入到时间戳字段中。

示例代码(使用PHP):

$date = '31-12-2021 23:59:59';
$sql = "INSERT INTO mytable (id, timestamp_field) VALUES (1, UNIX_TIMESTAMP(STR_TO_DATE('$date', '%d-%m-%Y %H:%i:%s')))";

示例代码(使用Python):

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO mytable (id, timestamp_field) VALUES (%s, UNIX_TIMESTAMP(STR_TO_DATE(%s, '%%d-%%m-%%Y %%H:%%i:%%s')))"
val = (1, '31-12-2021 23:59:59')

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

需要注意的是,在使用STR_TO_DATE函数时,日期字符串的格式必须和格式化字符串中指定的格式一致。

结论

以上就是如何将自定义日期插入MySQL时间戳字段的三种方法。使用字符串插入法比较简单,但需要进行日期格式的转换;使用UNIX_TIMESTAMP函数和STR_TO_DATE函数插入法则可以直接将日期字符串转换为时间戳,但需要注意函数的使用方式和日期字符串的格式。根据实际情况,选择合适的方法即可。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程