用法:
backup(target, *, pages=- 1, progress=None, name='main', sleep=0.25)
此方法对 SQLite 数据库进行备份,即使它正在被其他客户端访问,或者同时被同一连接访问。副本将被写入强制参数
target
,该参数必须是另一个Connection
实例。默认情况下,或者当
pages
为0
或负整数时,一步复制整个数据库;否则,该方法一次执行最多pages
页的循环复制。如果指定了
progress
,则它必须是None
,或者是一个可调用对象,在每次迭代时将使用三个整数参数执行,分别是最后一次迭代的status
,仍待处理的页数remaining
复制和total
页数。name
参数指定将被复制的数据库名称:它必须是包含默认值"main"
的字符串,以指示主数据库;"temp"
表示临时数据库;或在附加数据库的ATTACH DATABASE
语句中的AS
关键字之后指定的名称。sleep
参数指定在连续尝试备份剩余页面之间休眠的秒数,可以指定为整数或浮点值。示例 1,将现有数据库复制到另一个:
import sqlite3 def progress(status, remaining, total): print(f'Copied {total-remaining} of {total} pages...') con = sqlite3.connect('existing_db.db') bck = sqlite3.connect('backup.db') with bck: con.backup(bck, pages=1, progress=progress) bck.close() con.close()
示例 2,将现有数据库复制到临时副本中:
import sqlite3 source = sqlite3.connect('existing_db.db') dest = sqlite3.connect(':memory:') source.backup(dest)
3.7 版中的新函数。
相关用法
- Python sqlite3.Connection.text_factory用法及代码示例
- Python sqlite3.Connection.enable_load_extension用法及代码示例
- Python sqlite3.Connection.iterdump用法及代码示例
- Python sqlite3.Connection.create_collation用法及代码示例
- Python sqlite3.Connection.row_factory用法及代码示例
- Python sqlite3.Connection.create_function用法及代码示例
- Python sqlite3.Connection.create_aggregate用法及代码示例
- Python sqlite3.Cursor.executescript用法及代码示例
- Python sqlite3.Cursor.connection用法及代码示例
- Python sqlite3.Cursor.executemany用法及代码示例
- Python sqlite3.threadsafety用法及代码示例
- Python sqlite3.complete_statement用法及代码示例
- Python sqlite3.connect用法及代码示例
- Python math sqrt()用法及代码示例
- Python sklearn.cluster.MiniBatchKMeans用法及代码示例
- Python scipy.ndimage.binary_opening用法及代码示例
- Python scipy.signal.windows.tukey用法及代码示例
- Python scipy.stats.mood用法及代码示例
- Python str.isidentifier用法及代码示例
- Python sklearn.metrics.fbeta_score用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 sqlite3.Connection.backup。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。