¿Cómo crear una copia de seguridad de una base de datos SQLite usando Python?

En este artículo, aprenderemos cómo crear una copia de seguridad de una base de datos SQLite usando Python. Para crear una copia de seguridad de una base de datos SQLite usando Python, los módulos necesarios son SQLite3 e IO .

Primero, creemos la base de datos original para hacer eso, siga el siguiente programa:

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

Producción:

Base de datos original en memoria:

Luego crearemos una tabla de estudiantes en la base de datos original. Ejecutaremos la sintaxis SQLite para crear una tabla en el objeto cursor.

Sintaxis:

objeto_cursor = conn.cursor()

 cursor_object.execute(“CREATE TABLE Nombre de la tabla()”)

A continuación se muestra el programa completo para crear una tabla de estudiantes en la base de datos original:

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)

Para verificar si nuestra tabla está creada, podemos usar DB Browser for SQLite para ver nuestra tabla. Abra el archivo ‘originaldatabase.db’ con el programa, y ​​deberíamos ver nuestra tabla:

Creación de una copia de seguridad de la base de datos

Crearemos una copia de seguridad de la base de datos. Para ello, llamaremos a la función open() desde el módulo IO . Esta función dará el número total de filas de la base de datos que se modificarán, insertarán o eliminarán desde que se abrió la conexión a la base de datos. Además, usaremos la función iterdump() . En un formato de texto SQL, la función iterdump() proporciona un iterador para volcar la base de datos. Que se utiliza para guardar una base de datos en memoria para su posterior restauración. En el shell sqlite3, esta función proporciona las mismas capacidades que el comando .dump .

Sintaxis:

with io.open('backupdatabase.sql', 'w') as p:
  for line in conn.iterdump():
      p.write('%s\n' % line)

Según la sintaxis dada, la copia de seguridad se realizará correctamente y los datos se guardarán como backupdatabase_dump.sql .

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

Producción:

Copia de seguridad de la base de datos original:

Publicación traducida automáticamente

Artículo escrito por praveenbgp6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *