📜  如何使用Python创建 SQLite 数据库的备份?

📅  最后修改于: 2022-05-13 01:55:19.745000             🧑  作者: Mango

如何使用Python创建 SQLite 数据库的备份?

在本文中,我们将学习如何使用Python创建 SQLite 数据库的备份。要使用Python创建 SQLite 数据库的备份,所需的模块是SQLite3IO

首先,让我们按照以下程序创建原始数据库:

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 语法在游标对象中创建一个表。

句法:

下面是在原始数据库中创建学生表的完整程序:

蟒蛇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()

输出:

备份原始数据库: