在Python中向数据库中插入数据

最近在做Python项目的时候遇到一个要向数据库中插入历史记录的一个问题,需要将行List数据存到数据库中。我是使用SQList创建的数据库文件和对应的Table,但在python使用SQL语句时老是在插入的第一个元素那里报错。观察了SQL的插入语句才发现问题在哪里。。。
首先看SQL语句的插入操作:INSERT INTO TableName VALUES(value1,value2,…)
然后在python中为了方便操作,我写了一个函数来实现:

    def write(self, table, data):
        query = "INSERT INTO {0} VALUES({1});".format(table, data)
        self.cursor.execute(query)

开始我就直接把我要插入的内容传给data,然后向数据库中名为table的表进行插入。结果就一直在插入的第一个元素那里报错

后来我发现我插入的内容都是str类型的,在SQLVALUES(value1,value2,…)中value的值如果是int可以直接写变量的名字,但是如果是字符串那需要用单引号括起来‘value2’。我开始是将我输入的List直接使用逗号连接了一下','.join(List),但是没有给每个元素加单引号,所以传到SQL里就是错误的语法。。最后我将List里每个元素都加了单引号就OK了!

原文地址:https://www.cnblogs.com/liuxgblog/p/14686978.html