Python - AI 助手

Python SQLite 游标 cursor.executemany() 函数



Python 的 cursor.executemany() 函数使用不同的参数多次执行数据库操作。这对于插入或更新数据库非常高效。

游标是一个用于与数据库交互的对象。它允许执行 SQL 查询、检索数据以及管理从检索操作中获得的数据。我们使用 connection.cursor() 创建游标,并使用 cursor.close() 函数关闭它。

Execute 执行单个 SQL 查询,用于 INSERT、UPDATE 或 DELETE 等 SQL 操作。

语法

以下是 cursor.executemany() 函数的语法。

cursor.executemany(sql, seq_of_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

此程序使用 cursor.executemany() 函数在员工表中插入两行。

data = [(1, 'Ramesh', 32, 2000.00, 'Maryland', 'USA'),(2, 'Mukesh', 40, 5000.00, 'New York', 'USA')]
cursor.executemany("INSERT INTO employees(ID, Name, Age, Salary, City, Country) Values(?, ?, ?, ?, ?, ?)", data)
conn.commit()

输出

结果如下生成 -

(1, 'Ramesh', 32, 2000.00, 'Maryland', 'USA')
(2, 'Mukesh', 40, 5000.00, 'New York', 'USA')

示例 2

以下程序使用 cursor.executemany() 函数将 ID 为 1 和 2 的员工的薪资更新为 3000.00 和 5000.00。

updates = [(3000.00, 1), (5500.00, 2)]
cursor.executemany("UPDATE employees SET Salary = ? WHERE ID = ?", updates)
conn.commit()

输出

当我们运行以上代码时,我们将获得以下输出 -

(1, 'Ramesh', 32, 3000.00, 'Maryland', 'USA')
(2, 'Mukesh', 40, 5500.00, 'New York', 'USA')

示例 3

在下面的示例中,我们使用 cursor.executemany() 函数从员工表中删除 ID 为 1 和 2 的员工。

ids_to_delete = [(1), (2)]
cursor.executemany("Delete From employees WHere ID = ?", ids_to_delete)
conn.commit()

输出

输出如下获得 -

(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')

示例 4

当我们使用 cursor.executemany() 函数在数据集中插入字符串而不是元组时,它会抛出 TypeError。

data = [(1, 'Ramesh', 32, 2000.00, 'Maryland', 'USA'), 'Sanjay']
cursor.executemany("INSERT INTO employees (ID, Name, Age, Salary, City, Country) VALUES(?, ?, ?, ?, ?, ?)", data)
conn.commit()

输出

我们将获得以下输出 -

TypeError: parameters are of unsupported type
python_modules.htm
广告