Python - AI 助手

Python SQLite 连接.excutescript() 函数



Python 的 connection.executescript() 函数从连接对象执行提供的 SQL 脚本。此函数用于指定数据库和批处理操作。它可以处理用于批处理的多个语句。

连接对象表示数据库,并允许我们通过执行 SQL 命令和管理数据库中的事务来与数据库交互。

Execute 是 SQLite 中连接对象的一部分。它接受一个包含一个或多个以分号分隔的 SQL 语句的单个参数,并逐一执行字符串中的所有 SQL 语句。

语法

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

connection.executescript(sql_script)

参数

一个包含一个或多个 SQL 语句的字符串,以分号分隔,此脚本可以包含任何 SQL 命令。

返回值

执行完提供的 SQL 脚本后,此函数返回 None。

示例

考虑以下 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

考虑上表,它表示来自印度且年龄在 30 岁或以下的员工,使用 connection.executescript() 函数。

import sqlite3
conn = sqlite3.connect('res.db')
conn.executescript(""" 
UPDATE employees SET Salary = Salary * 2.2 WHERE Country = 'India';
DELETE FROM employees WHERE Age > 35;
""")
conn.commit()
conn.close()

输出

结果如下获得 -

ID 姓名 年龄 薪资 城市 国家/地区
1 Ramesh 32 2000.00 Maryland USA
4 Kaushik 25 2500.00 Kolkata India
5 Hardik 29 3500.00 Bhopal India
7 Ayush 25 3500.00 Delhi India

示例 2

在下面的示例中,我们使用 connection.executescript() 函数从 SQLite 表中删除多行。

import sqlite3
conn = sqlite3.connect('res.db')
conn.executescript("""
DELETE FROM employees WHERE Salary < 4000;
""")
conn.commit()
conn.close()

输出

当我们运行以上代码时,我们将得到以下结果 -

ID 姓名 年龄 薪资 城市 国家/地区
2 Mukesh 40 5000.00 New York USA
3 Sumit 45 4500.00 Muscat Oman

示例 3

这里,此示例使用 connection.executescript() 函数将新行插入员工表中。

import sqlite3
conn = sqlite3.connect('res.db')
conn.executescript("""
INSERT INTO employees (ID, Name, Age, Salary, City, Country) VALUES (8, 'Sharon', 22, 4300.00, 'Mumbai', 'India');
""")
conn.commit()
conn.close()

输出

结果如下生成 -

(8, 'Sharon', 22, 4300.00, 'Mumbai', 'India')

示例 4

在此示例中,将列表传递给此 connection.executescript 函数,这将引发 TypeError,因为未为此函数提供预期的数据类型。

import sqlite3
conn = sqlite3.connect(':data:')
conn.executescript("CREATE TABLE employees (ID INTEGER, Name TEXT);")
conn.executescript(["INSERT INTO employees VALUES(2, 'Mukesh');"])

输出

我们将得到以下结果 -

TypeError: executescript() argument 2 must be str, not list
python_modules.htm
广告