📜  SQLite更新查询(1)

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

SQLite 更新查询

SQLite 是一个轻量级的数据库管理系统,支持多种编程语言,包括 Python、Java、C++、C 等,并且易于使用。本文将介绍 SQLite 数据库的更新查询。

SQL UPDATE 语句

在 SQLite 中,我们使用 SQL UPDATE 语句来更新记录。其语法如下:

UPDATE table
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • table: 要更新的表名。
  • column1, column2, ...: 要更新的列名。
  • value1, value2, ...: 要更新的值。
  • condition: 过滤条件,只有符合条件的记录才会被更新。

例如,假设我们有一个 students 表,其中包含以下字段:

CREATE TABLE students (
  id INTEGER PRIMARY KEY,
  name TEXT,
  age INTEGER,
  gender TEXT,
  score REAL
);

我们可以使用以下 SQL UPDATE 语句来更新这张表中 id 为 1 的学生的信息:

UPDATE students
SET age = 20, score = 95.5
WHERE id = 1;

这将把 id 为 1 的学生的年龄修改为 20,分数修改为 95.5。

在 Python 中使用 SQLite 更新查询

Python 内置了 sqlite3 模块,可以与 SQLite 数据库进行交互。以下是在 Python 中使用 SQLite 更新查询的示例代码:

import sqlite3

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

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

# 更新数据
sql = "UPDATE students SET age = ?, score = ? WHERE id = ?"
data = (20, 95.5, 1)
cursor.execute(sql, data)
conn.commit()

# 关闭游标和数据库连接
cursor.close()
conn.close()

这段代码会连接名为 test.db 的 SQLite 数据库,然后将 id 为 1 的学生的年龄修改为 20,分数修改为 95.5。

需要注意的是,我们在 SQL UPDATE 语句中使用了占位符 ?,这是为了防止 SQL 注入攻击。我们还调用了 cursor.execute() 方法来执行 SQL 语句,然后调用 conn.commit() 方法来提交事务。

总结

SQLite 支持 SQL UPDATE 语句来更新数据库记录。我们可以在 Python 中使用 sqlite3 模块来与 SQLite 数据库进行交互。在编写 SQL 语句时,我们应该遵循良好的编程习惯,采用占位符等方式来防止 SQL 注入攻击。