欢迎访问宙启技术站
智能推送

学习Python中的数据库插入操作

发布时间:2023-12-11 17:19:14

在Python中,我们可以使用多种方式进行数据库插入操作,这取决于我们使用的数据库模块。常用的Python数据库模块包括sqlite3、MySQLdb、psycopg2等。下面以sqlite3为例,介绍如何进行数据库插入操作。

首先,我们需要使用import语句导入sqlite3模块:

import sqlite3

然后,我们可以使用connect()函数连接到一个数据库,并创建一个Connection对象:

connection = sqlite3.connect("mydatabase.db")

接下来,我们可以使用cursor()方法创建一个Cursor对象,用于执行SQL语句:

cursor = connection.cursor()

有了Cursor对象后,我们就可以使用execute()方法来执行SQL插入语句了。下面是一个例子,假设我们有一个名为users的表,其中有3个字段:idnameemail。我们可以使用SQL语句INSERT INTO来插入一条新的记录:

sql = "INSERT INTO users (name, email) VALUES (?, ?)"
cursor.execute(sql, ("John Doe", "johndoe@example.com"))

在上面的例子中,通过问号占位符的方式,我们可以将实际的值作为参数传递给execute()方法,以实现参数化查询,这样可以避免SQL注入问题。

完成插入操作后,我们需要使用commit()方法来提交事务:

connection.commit()

最后,我们需要关闭Cursor对象和Connection对象:

cursor.close()
connection.close()

下面是一个完整的示例,演示如何插入多条记录到数据库中:

import sqlite3

connection = sqlite3.connect("mydatabase.db")
cursor = connection.cursor()

# 插入多条记录
data = [
    ("John Doe", "johndoe@example.com"),
    ("Jane Smith", "janesmith@example.com"),
    ("Tom Brown", "tombrown@example.com")
]

sql = "INSERT INTO users (name, email) VALUES (?, ?)"
cursor.executemany(sql, data)

connection.commit()
cursor.close()
connection.close()

在上面的示例中,我们使用executemany()方法执行多次插入操作,将多条记录作为一个列表传递给该方法。

总结:使用Python进行数据库插入操作需要连接到数据库,创建Cursor对象,执行SQL插入语句,提交事务,最后关闭Cursor对象和Connection对象。可以使用参数化查询来避免SQL注入问题。以上是使用sqlite3模块进行数据库插入的基本操作,其他数据库模块类似,只是连接方式和具体的SQL语句可能有所不同。