如何将日期作为输入并在python中进行sql连接时将其插入表中

问题描述 投票:0回答:1

我已经尝试进行一些sql连接,并且最近遇到了一个问题,我无法将isert日期放入表中。我给了下面的代码。我应该在此添加什么?

import mysql.connector as con
db = con.connect(host = "localhost", user = "root", password = "root", database = "vish")

if db.is_connected():
    print("success")
a = int(input("roll no. : "))
b = input("name : ")
c = int(input("phone : "))
cursor = db.cursor()
q = ("insert into student values({}, '{}', {})".format(a,b,c))
cursor.execute(q)
db.commit()

如何获取日期并将其插入表格中

python mysql
1个回答
0
投票

[如果您有一个表t和一列c,并且希望插入日期文字,则该文字的格式为'YYYY-MM-DD',例如:

INSERT INTO t(c) VALUES('2020-01-11')

但是,只要您从“外部”获取输入,就使自己不受SQL Injection攻击的影响,应该使用准备好的语句。如果您已解析输入日期并从输入中构建了字符串文字,例如'2020-01-11',那么您是安全的。但是,如果您隔离了年,月和日,并且由于任何其他未经严格验证的值而仍在使用准备好的语句,则还可以为日期使用'?'参数,这样:

from datetime import date

today = date(2020, 1, 11)
cursor = db.cursor()
cursor.execute("INSERT INTO t(c) VALUES(?)", (today,))
cursor.commit()
© www.soinside.com 2019 - 2024. All rights reserved.