如何使用Python创建 SQLite 数据库的备份?
在本文中,我们将学习如何使用Python创建 SQLite 数据库的备份。要使用Python创建 SQLite 数据库的备份,所需的模块是SQLite3和IO 。
首先,让我们按照以下程序创建原始数据库:
Python3
import sqlite3
import io
from sqlite3 import Error
def SQLite_connection():
try:
conn = sqlite3.connect('Originaldatabase.db')
print("Connection is established successfully!")
print("'originaldatabase.db' is created ")
return conn
except Error:
print(Error)
finally:
conn.close()
SQLite_connection()
Python3
import sqlite3
import io
from sqlite3 import Error
def sql_connection():
try:
conn = sqlite3.connect('Originaldatabase.db')
return conn
except Error:
print(Error)
def sql_table(conn):
cursor_object = conn.cursor()
cursor_object.execute(
"CREATE TABLE student(roll_no integer PRIMARY KEY,first_name text,\
last_name text, class text, stream text,address text)")
conn.commit()
conn = sql_connection()
sql_table(conn)
Python3
import sqlite3
import io
conn = sqlite3.connect('Originaldatabase.db')
# Open() function
with io.open('backupdatabase_dump.sql', 'w') as p:
# iterdump() function
for line in conn.iterdump():
p.write('%s\n' % line)
print(' Backup performed successfully!')
print(' Data Saved as backupdatabase_dump.sql')
conn.close()
输出:
内存中的原始数据库:
然后我们将在原始数据库中创建一个学生表。我们将执行 SQLite 语法在游标对象中创建一个表。
句法:
cursor_object = conn.cursor()
cursor_object.execute(“CREATE TABLE Table name()”)
下面是在原始数据库中创建学生表的完整程序:
蟒蛇3
import sqlite3
import io
from sqlite3 import Error
def sql_connection():
try:
conn = sqlite3.connect('Originaldatabase.db')
return conn
except Error:
print(Error)
def sql_table(conn):
cursor_object = conn.cursor()
cursor_object.execute(
"CREATE TABLE student(roll_no integer PRIMARY KEY,first_name text,\
last_name text, class text, stream text,address text)")
conn.commit()
conn = sql_connection()
sql_table(conn)
要检查我们的表是否已创建,我们可以使用 SQLite 的数据库浏览器来查看我们的表。用程序打开“originaldatabase.db”文件,我们应该看到我们的表:
创建数据库的备份
我们将创建数据库的备份。牛逼Ø做到这一点,我们将调用从IO模块的open()函数。此函数将给出自数据库连接打开以来将被修改、插入或删除的数据库行总数。此外,我们将使用iterdump()函数。在 SQL 文本格式中, iterdump()函数提供了一个迭代器来转储数据库。用于保存内存数据库以供以后恢复。在 sqlite3 shell 中,此函数提供与.dump命令相同的功能。
句法:
with io.open('backupdatabase.sql', 'w') as p:
for line in conn.iterdump():
p.write('%s\n' % line)
通过给定的语法备份将成功执行,数据将保存为backupdatabase_dump.sql 。
蟒蛇3
import sqlite3
import io
conn = sqlite3.connect('Originaldatabase.db')
# Open() function
with io.open('backupdatabase_dump.sql', 'w') as p:
# iterdump() function
for line in conn.iterdump():
p.write('%s\n' % line)
print(' Backup performed successfully!')
print(' Data Saved as backupdatabase_dump.sql')
conn.close()
输出:
备份原始数据库: