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

如何使用 Python 的 sqlite3 库中的 execute() 函数执行 SQL 命令?

发布时间:2023-06-03 07:55:42

Python 的标准库中包含有一个轻量级的数据库 SQLite,其中的 sqlite3 模块可让我们使用 SQLite 进行数据库操作,比如插入、删除、更新和查询数据。

其中,execute() 方法是执行 SQL 命令的主要方法之一。它用于执行单个 SQL 语句,如果有多个语句,则只会执行 条语句。

execute() 方法的一般格式如下:

cursor.execute(sql, parameters)

其中,sql 为要执行的 SQL 语句,parameters 为 SQL 语句中的参数列表。execute() 方法会返回一个 cursor 对象,可以用来获取执行结果。

下面是一个使用 execute() 方法向 SQLite 数据库中插入数据的例子:

import sqlite3

# 连接到 SQLite 数据库
conn = sqlite3.connect('example.db')

# 创建一个 Cursor 对象
cursor = conn.cursor()

# 使用 execute() 方法执行 SQL 语句
cursor.execute('INSERT INTO users (name, age, email) VALUES (?, ?, ?)', ('John', 25, 'john@example.com'))

# 提交事务
conn.commit()

# 关闭数据库连接
conn.close()

这个例子中,我们首先使用 sqlite3.connect() 方法连接到 SQLite 数据库,然后创建了一个 Cursor 对象,使用 execute() 方法向 users 表中插入一条数据。为了避免 SQL 注入攻击,我们使用了参数绑定,即在 SQL 语句中使用问号代替实际的参数值,并将参数列表作为 execute() 方法的第二个参数。最后使用 conn.commit() 提交事务,并关闭数据库连接。

除了插入数据,execute() 方法还可以用于更新和删除数据,以及查询数据。

下面是一个使用 execute() 方法查询 SQLite 数据库中数据的例子:

import sqlite3

# 连接到 SQLite 数据库
conn = sqlite3.connect('example.db')

# 创建一个 Cursor 对象
cursor = conn.cursor()

# 使用 execute() 方法执行 SQL 语句
cursor.execute('SELECT * FROM users')

# 获取查询结果
result = cursor.fetchall()

# 打印查询结果
for row in result:
    print(row)

# 关闭数据库连接
conn.close()

这个例子中,我们使用了 execute() 方法执行了一条查询语句,获取了查询结果,并使用 fetchall() 方法将结果集中的所有行都取出来。然后将每行数据打印出来,最后关闭了数据库连接。

总之,execute() 方法是 sqlite3 模块中执行 SQL 命令最常用的方法之一,可以用于插入、删除、更新和查询数据,以及创建表、删除表等操作。使用该方法时应注意避免 SQL 注入攻击,尤其是在查询操作时。