Python - AI 助手

Python SQLite connection.execute() 函数



Python 的 `connection.execute()` 函数允许我们直接在数据库上执行 SQL 命令,无需创建游标。

Connection 指的是代表数据库的对象。连接对象用于执行 SQL 命令。此函数提供创建游标的方法,然后关闭连接。

Execute 用于运行来自游标对象的 SQL 命令。此函数将 SQL 语句作为其第一个参数,并将可选参数作为第二个参数。

语法

以下是 `connection.execute()` 函数的语法。

connection.execute(sql[,optional parameters])

参数

此函数包含要执行的 SQL 命令。

返回值

返回一个游标对象,可以从中迭代结果。

示例

考虑以下 EMPLOYEES 表,其中存储员工 ID、姓名、年龄、薪水、城市和国家/地区:

ID 姓名 年龄 薪水 城市 国家
1 Ramesh 32 2000.00 Maryland USA
2 Mukesh 40 5000.00 New York USA
3 Sumit 45 4500.00 Muscat Oman
4 Kaushik 25 2500.00 Kolkata India
5 Hardik 29 3500.00 Bhopal India
6 Komal 38 3500.00 Saharanpur India
7 Ayush 25 3500.00 Delhi India

示例 1

在下面的示例中,我们使用connection.execute()函数插入一个新的员工行,然后关闭连接。

import sqlite3
conn = sqlite3.connection('res.db')
conn.execute('INSERT INTO employees(Name, Age, Salary, City, Country)VALUES(?,?,?,?,?)',('Sharon', 22, 6000.0, 'Maharashtra', 'India'))
conn.commit()
conn.close()

输出

我们将根据上述值得到更新后的表格:

ID 姓名 年龄 薪水 城市 国家
1 Ramesh 32 2000.00 Maryland USA
2 Mukesh 40 5000.00 New York USA
3 Sumit 45 4500.00 Muscat Oman
4 Kaushik 25 2500.00 Kolkata India
5 Hardik 29 3500.00 Bhopal India
6 Komal 38 3500.00 Saharanpur India
7 Ayush 25 3500.00 Delhi India
8 Sharon 22 6000.00 Maharashtra India

示例 2

在这里,我们使用connection.execute()函数将Kaushik的工资更新为7000.0,然后关闭数据库。

import sqlite3
conn = sqlite3.connect('res.db')
conn.execute('UPDATE Employees SET SAlary = ? WHERE Name = ?',(7000.0,'Kaushik'))
conn.commit()
conn.close()

输出

我们将得到如下输出:

Kaushik's salary is updated to 7000.0

示例 3

现在,我们使用connection.execute()函数从Employees表中删除komal行,输出确认数据已被删除。

import sqlite3
conn = sqlite3.connect('res.db')
conn.execute('DELETE FROM employees WHERE Name = ?',('Komal'))
conn.commit()
conn.close()

输出

输出显示更新后的员工表:

The record for Komal is deleted from the employees table.

示例 4

现在,我们使用connection.execute()函数执行一个整数作为SQL语句,这将抛出一个TypeError异常。

import sqlite3
try:
   conn = sqlite3.connect('res.db')
   conn.execute(12345)
   conn.commit()
except TypeError as e:
   print(f"TypeError:{e}")
finally:
   conn.close()

输出

运行上述代码后,我们将得到以下结果:

TypeError: execute() argument 1 must be str, not int
python_modules.htm
广告