Python SQLite 更新数据

Python SQLite 更新数据

Python SQLite 更新数据

简介

SQLite 是一个轻量级的数据库,用于在应用程序中存储和管理数据。Python 作为一种流行的编程语言,提供了对 SQLite 数据库进行操作的支持。本文将详细介绍如何使用 Python 更新 SQLite 数据库中的数据。

准备工作

在开始之前,需要确保你已经安装了 Python 和 SQLite3 模块。可以使用以下命令检查是否已安装 SQLite3 模块:

import sqlite3
print(sqlite3.sqlite_version)

如果你没有安装该模块,可以使用以下命令在终端中安装:

pip install sqlite3

当准备工作完成后,我们可以开始更新 SQLite 数据库中的数据。

打开数据库连接

首先,我们需要打开一个与数据库的连接,并获取一个游标(cursor),该游标用于执行 SQL 语句并获得返回的结果。以下是一个打开数据库连接的示例代码:

import sqlite3

# 打开数据库连接
conn = sqlite3.connect('test.db')

# 获取游标
cursor = conn.cursor()

更新数据

我们可以使用 SQL UPDATE 语句来更新数据库中的数据。以下是一个更新数据的示例代码:

import sqlite3

# 打开数据库连接
conn = sqlite3.connect('test.db')

# 获取游标
cursor = conn.cursor()

# 定义更新语句
sql = "UPDATE employees SET salary = 5000 WHERE id = 1"

try:
    # 执行更新语句
    cursor.execute(sql)

    # 提交事务
    conn.commit()
    print("数据更新成功!")
except Exception as e:
    # 发生错误时回滚
    conn.rollback()
    print("数据更新失败!", e)

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

在上面的示例代码中,我们使用 UPDATE 语句将 id 为 1 的员工的薪水更新为 5000。执行更新语句后,需要调用 commit() 方法提交事务,使更改生效。如果发生错误,可以使用 rollback() 方法回滚事务,使更改被撤销。

更新多个数据

如果我们要更新多个数据记录,可以在 SQL UPDATE 语句中使用 WHERE 子句来指定条件。以下是一个更新多个数据的示例代码:

import sqlite3

# 打开数据库连接
conn = sqlite3.connect('test.db')

# 获取游标
cursor = conn.cursor()

# 定义更新语句
sql = "UPDATE employees SET salary = salary + 1000 WHERE department = 'IT'"

try:
    # 执行更新语句
    cursor.execute(sql)

    # 提交事务
    conn.commit()
    print("数据更新成功!")
except Exception as e:
    # 发生错误时回滚
    conn.rollback()
    print("数据更新失败!", e)

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

在上面的示例代码中,我们使用 UPDATE 语句将部门为 “IT” 的员工的薪水增加 1000。执行更新语句后,将薪水增加的操作放在赋值表达式中。

提示

在更新数据时,可以使用 execute() 方法的第二个参数来传递参数。这样可以避免 SQL 注入的风险。以下是一个使用参数的示例代码:

import sqlite3

# 打开数据库连接
conn = sqlite3.connect('test.db')

# 获取游标
cursor = conn.cursor()

# 定义更新语句
sql = "UPDATE employees SET salary = ? WHERE id = ?"

try:
    # 执行更新语句
    cursor.execute(sql, (5000, 1))

    # 提交事务
    conn.commit()
    print("数据更新成功!")
except Exception as e:
    # 发生错误时回滚
    conn.rollback()
    print("数据更新失败!", e)

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

在上面的示例代码中,我们使用问号作为占位符,然后通过元组 (5000, 1) 传递参数。这样可以确保传递的参数被正确地转义和引用,从而避免 SQL 注入的风险。

总结

本文介绍了如何使用 Python 更新 SQLite 数据库中的数据。首先,我们打开与数据库的连接并获取游标,然后使用 SQL UPDATE 语句来更新数据。我们还了解了如何更新多个数据记录以及如何使用参数来避免 SQL 注入的风险。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程