📜  Python SQLite - 更新特定列(1)

📅  最后修改于: 2023-12-03 14:46:04.287000             🧑  作者: Mango

Python SQLite - 更新特定列

在 SQLite 数据库中,我们经常需要更新表中的数据。本文将介绍如何使用 Python 中的 SQLite 模块来更新特定列的数据。

连接到数据库

首先,我们需要连接到 SQLite 数据库。我们可以使用 Python 中的 sqlite3 模块来连接到数据库。例如,我们可以使用以下代码连接到 example.db 数据库:

import sqlite3

conn = sqlite3.connect('example.db')
更新数据

接下来,我们需要执行 SQL 语句来更新数据。我们可以使用 cursor 对象来执行 SQL 语句。例如,我们可以使用以下代码来更新 students 表中名字为 Alice 的学生的分数:

import sqlite3

conn = sqlite3.connect('example.db')

cursor = conn.cursor()

cursor.execute("UPDATE students SET score = 90 WHERE name = 'Alice'")

conn.commit()

conn.close()

在上面的代码中,我们首先创建了 cursor 对象,然后使用 execute 方法执行了 SQL 语句。我们使用 WHERE 子句指定了要更新的行,使用 SET 子句指定要更新的列和值。最后,我们使用 commit 方法提交更改,并使用 close 方法关闭连接。

使用变量

如果我们需要根据变量的值更新数据,我们可以使用占位符。例如,我们可以使用以下代码来更新 students 表中名字为 Alice 的学生的分数:

import sqlite3

conn = sqlite3.connect('example.db')

cursor = conn.cursor()

name = 'Alice'
score = 90

cursor.execute("UPDATE students SET score = ? WHERE name = ?", (score, name))

conn.commit()

conn.close()

在上面的代码中,我们使用 ? 来表示占位符,然后在 execute 方法的第二个参数中传递变量的值。这样可以防止 SQL 注入攻击,同时也可以方便地更新多个变量。

总结

本文介绍了如何使用 Python 中的 SQLite 模块来更新特定列的数据。我们使用 execute 方法执行 SQL 语句,使用 WHERE 子句指定要更新的行,使用 SET 子句指定要更新的列和值。我们还介绍了如何使用占位符来更新变量的值,以避免 SQL 注入攻击。