Python(SQLite)executescript用法

SQLite 数据库模块的游标对象还包含了一个 executescript() 方法,这不是一个标准的 API 方法,这意味着在其他数据库 API 模块中可能没有这个方法。但是这个方法却很实用,它可以执行一段 SQL 脚本。

例如,如下程序使用 executescript() 方法执行一段 SQL 脚本:

复制代码
# 导入访问SQLite的模块
import sqlite3

# ①、打开或创建数据库
# 也可以使用特殊名::memory:代表创建内存中的数据库
conn = sqlite3.connect('first.db')
# ②、获取游标
c = conn.cursor()
# ③、调用executescript()方法执行一段SQL脚本
c.executescript('''
    insert into user_tb values(null, '武松', '3444', 'male'); 
    insert into user_tb values(null, '林冲', '44444', 'male');
    create table item_tb(_id integer primary key autoincrement, name, price);
    ''')
conn.commit()
# ④、关闭游标
c.close()
# ⑤、关闭连接
conn.close()

上面程序调用 executescript() 方法执行一段复杂的 SQL 脚本,在这段 SQL 脚本中包含了两条 insert 语句,该语句负责向 user_tb 表中插入记录,还使用 create 语句创建了一个数据表。

运行上面程序,可以看到 first.db 数据库中多了一个 item_tb 数据表,user_tb 数据表被插入了两条记录。

此外,为了简化编程,SQLite 数据库模块还为数据库连接对象提供了如下 3 个方法:

execute(sql, parameters):执行一条 SQL 语句。

executemany(sql, parameters):根据序列重复执行 SQL 语句。

executescript(sql_script):执行 SQL 脚本。

读者可能会发现,这 3 个方法与游标对象所包含的 3 个方法完全相同。事实正是如此,数据库连接对象的这 3 个方法都不是 DB API 2.0 的标准方法,它们只是游标对象的 3 个方法的快捷方式,因此在用法上与游标对象的 3 个方法完全相同。

相关推荐
程序员天天困1 分钟前
优雅记录操作日志:从注解到 SpEL 的全链路实践与开源方案对比
java·后端
战血石LoveYY18 分钟前
Integer类型超限,导致数据异常
java·算法
乐观的Terry2 小时前
1、为什么要自己造发布系统
java·spring boot·后端·spring cloud·架构
兰令水2 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
名字还没想好☜3 小时前
用 Redis + Redisson 实现分布式锁:从踩坑到生产可用
java·redis·分布式·junit·分布式锁·redisson
谙忆3 小时前
图片CDN与边缘优化实战:缓存策略、图片处理型CDN与动态裁剪
java·spring·缓存
程序猿秃头之路3 小时前
DDD 系列:实体和值对象详解
数据库·oracle·ddd·领域驱动设计
ltqvibe3 小时前
怎么让本体语义变成可执行的智能体
java·人工智能·本体语义
javajenius3 小时前
Masslynx 4.1安装包免费下载及详细安装教程
java·服务器·前端·其他
程序员吕洞宾4 小时前
开源多维表格SmartTable V1.6.1:工作流画布,让自动化工作流配置更直观、更方便
java·开源·自动化