Python操作sql,备份数据库

这篇具有很好参考价值的文章主要介绍了Python操作sql,备份数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、批量执行sql

import pymysql

# 执行批量的 SQL 语句
def executeBatchSql(cursor, sqlStatements):
    for sql in sqlStatements:
        try:
            cursor.execute(sql)
            print('Executed SQL statement:', sql)

        except Exception as e:
            print('Error executing SQL statement:', e)

# 创建数据库连接
connection = pymysql.connect(
    host='xx.xx.xx.xx',
    port=xx,
    user='root',
    password='xx',
    database='xx',
    autocommit=True  # 设置自动提交模式
)

# 连接数据库
try:
    with connection.cursor() as cursor:
        print('Connected to database')

        # 执行批量的 SQL 语句
        sqlStatements = [
            "UPDATE conveyor_exception_time SET date = DATE_SUB(CURDATE(), INTERVAL 1 DAY); ",
            "UPDATE detection_ng_analysis SET date = CURDATE(); ",
            "UPDATE single_data_analysis SET date = CURDATE(); ",
            "UPDATE area_data_analysis SET date = CURDATE(); ",
            "UPDATE store_area SET status = FLOOR(RAND() * 8);",
            # "UPDATE area_data_analysis SET `date`=DATE_SUB(CURDATE(), INTERVAL 0 DAY);",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='17';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='18';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='19';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='20';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='21';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='22';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='23';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='24';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='25';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='26';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='27';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='28';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='5';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='6';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='7';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='8';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='13';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='14';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='15';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='16';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='9';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='10';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='11';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='12';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='1';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='2';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='3';",
            "UPDATE stacker_analysis_history SET `date`=DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='4';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='0493';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='04c5';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='07d3';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='0e75';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='2712';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='2bd0';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='2e5f';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='32e2';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='43b9';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='4476';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='4514';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='4bcb';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='5e97';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='6781';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='6ae8';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='81a8';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='8d4c';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='8e66';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='9c59';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='9f77';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='a771';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='a809';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='ad77';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='b560';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='be6f';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='c567';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='c8f0';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='cbec';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='d24d';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='d4e6';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='da7e';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='e627';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='022e';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='02a5';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='060a';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 0 DAY) WHERE id='1649';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='1888';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='1a1f';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='2c33';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE id='3f44';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='48b2';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='4c45';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='4ca3';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE id='6760';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='679d';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='7201';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='73cc';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE id='815c';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='894a';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='8a45';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='96fe';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE id='9843';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='a46e';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='a471';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='a552';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE id='b6af';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='c9cd';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='cf82';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='d201';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE id='daff';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='de2d';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='ec95';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='ee4c';",
            "UPDATE `jeecg-boot`.area_data_analysis SET `date`= DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE id='fe9b';",
            # "UPDATE area_data_analysis SET date = CURDATE() WHERE date = DATE_SUB(CURDATE(), INTERVAL 1 DAY);", 
            # "UPDATE area_data_analysis SET date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) WHERE date = DATE_SUB(CURDATE(), INTERVAL 2 DAY);", 
            # "UPDATE area_data_analysis SET date = DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE date = DATE_SUB(CURDATE(), INTERVAL 3 DAY);", 
            # "UPDATE area_data_analysis SET date = DATE_SUB(CURDATE(), INTERVAL 3 DAY) WHERE date = DATE_SUB(CURDATE(), INTERVAL 4 DAY);", 
            # "UPDATE area_data_analysis SET date = DATE_SUB(CURDATE(), INTERVAL 4 DAY) WHERE date = DATE_SUB(CURDATE(), INTERVAL 5 DAY);", 
            # "UPDATE area_data_analysis SET date = DATE_SUB(CURDATE(), INTERVAL 5 DAY) WHERE date = DATE_SUB(CURDATE(), INTERVAL 6 DAY);", 
            # "UPDATE area_data_analysis SET date = DATE_SUB(CURDATE(), INTERVAL 6 DAY) WHERE date = DATE_SUB(CURDATE(), INTERVAL 7 DAY);", 
            # "UPDATE area_data_analysis SET date = DATE_SUB(CURDATE(), INTERVAL 7 DAY) WHERE date = DATE_SUB(CURDATE(), INTERVAL 8 DAY);", 
            # "UPDATE area_data_analysis SET `date`=DATE_SUB(CURDATE(), INTERVAL 2 DAY) WHERE operation_code = 'OP03' AND  date = DATE_SUB(CURDATE(), INTERVAL 2 DAY);",
            # "",
        ]

        executeBatchSql(cursor, sqlStatements)

finally:
    # 关闭数据库连接
    connection.close()
    print("\033[32;44;1mSQL执行完成, Mock数据初始化完成...\033[0m")

2、备份数据库

import subprocess

def backup_mysql_database(host, port, user, password, database, output_file):
    # 构建备份命令
    command = f"mysqldump --host={host} --port={port} --user={user} --password={password} {database} > {output_file}"
    
    try:
        # 执行备份命令
        print("数据库备份进行中,请稍等...")
        subprocess.run(command, shell=True, check=True)
        print("数据库备份成功!")
    except subprocess.CalledProcessError as e:
        print(f"数据库备份失败:{e}")

# 调用备份函数
host='xx.xx.xx.xx'
port=xx
user='root'
password='xx'
database='xx'
backup_mysql_database(host, port, user, password, database, "./data/jeecg-boot.sql")

3、使用shell执行python脚本文章来源地址https://www.toymoban.com/news/detail-663694.html

#!/bin/bash

# 切换到Python脚本所在的目录

# 执行Python脚本
python sql.py

# 添加等待命令,不让脚本关闭
read -p "Press any key to exit..."

到了这里,关于Python操作sql,备份数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python SQL 数据库操作利器:SQLAlchemy 库详解(看这一篇文章就够了)

    引言: Python 是一门广受欢迎的编程语言,而 SQL 则是用于管理和操作数据库的标准查询语言。SQLAlchemy 是一个功能强大的 Python 库,它提供了一种与多种数据库进行交互的灵活方式。本文将介绍 SQLAlchemy 库,并以九个重要的要点详细解释其功能和用法。 SQLAlchemy 简介 SQLAlchem

    2024年02月07日
    浏览(51)
  • 一篇文章打好SQL基础,熟悉数据库的基础操作和方法,以及安装MySQL软件包和Python操作MySQL基础使用

    SQL的全称:Structured Query Language,结构化查询语言,用于 访问和处理数据库的标准计算机语言 。 SQL语言1974年有Boyce和Chamberlin提出的,并且首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发展,SQL已经成为数据库领域同意的数据操作标准语言,可以说几乎市面上所

    2024年02月08日
    浏览(54)
  • sql数据库怎么备份,sql 实时备份

    在当今互联网时代,数据已经成为企业的核心资产。然而,数据的安全性和完整性面临硬件问题、软件故障、人工操作错误等各种威胁。为了保证数据的安全,实时备份已经成为公司必须采取的重要措施之一。下面我们就重点介绍SQL实时备份的重要实施方法。 SQL实时备份的必

    2024年02月10日
    浏览(43)
  • SQL Server数据库使用SQL Server代理实现数据库自动备份

    在现实中,为了保证数据的安全和完整,防止人为错误和硬件故障等造成的数据丢失和损坏,就需要用到数据库的备份,不同的数据库方法有所差别,我这边主讲SQL Server数据库的备份和使用SQL Server代理作业实现数据库的定时备份。 目录 一、开启SQL Server代理 1、找到SQL Serv

    2024年02月09日
    浏览(53)
  • sql server 数据库自动备份

        一丶打开客户端: 对象资源管理器-管理-维护计划(右键点击)-维护计划向导   二丶打开后点击下一步, 填写名称与说明并更改备份计划       三丶点下一步, 选择维护任务   四丶点击下一步, 选择需要备份的数据库, 和备份文件路径   五丶点击下一步, 选择报告文件保存路

    2024年02月11日
    浏览(39)
  • oracle如何定期备份数据库sql文件

    Oracle数据库可以使用以下方法定期备份数据库的SQL文件: 使用Oracle的备份和恢复工具RMAN(Recovery Manager)进行备份。RMAN提供了全面而高效的数据库备份和恢复功能。您可以使用RMAN备份数据库的SQL文件,并将其存储在指定的位置。可以使用RMAN备份的命令来备份数据库,例如:

    2024年01月25日
    浏览(52)
  • Jtti :sql server怎么备份数据库?

    在 SQL Server 中备份数据库是一项重要的操作,它可以确保你的数据在意外情况下得以恢复。以下是在 SQL Server 中备份数据库的基本步骤: 使用 SQL Server Management Studio (SSMS) 进行备份: 打开 SQL Server Management Studio(SSMS)并连接到相应的 SQL Server 实例。 在“对象资源管理器”窗口中

    2024年02月11日
    浏览(35)
  • Sql Server高版本数据库数据备份后还原到低版本数据库

    如果需要将高版本的Sql Server2019数据库还原到Sql Server低版本(2012,2008等)数据库,通过以下方法可以顺利还原 通过高版本生成sql脚本在低版本执行,并且数据也能保留 步骤:选择数据库右键 点击任务 生成脚本 在设置脚本编写选项时,选择高级,编写脚本数据类型选择为架构和数

    2024年02月09日
    浏览(42)
  • 在SQL server中用sql语句实现数据库的备份以及还原

    本文给大家提供并讲解了在SQL server中用SQL语句实现数据库的备份已经还原 假设你已经有一个数据库Student 创建备份设备,其名称为bk_Student,保存文件为D: Student.bak,并对Student数据库进行完全备份,备份到备份设备bk_ Student中。  在Student数据库中,创建一张表temp并对Student数

    2024年02月03日
    浏览(35)
  • SQL Server Management Studio (SSMS) 备份数据库

    之前的文章记录过如何使用sqlserver复制远程数据库到本地。这里补充下如何使用SQL Server Management Studio (SSMS) 备份。 传送门:sqlserver复制远程数据库到本地 在 SQL Server Management Studio (SSMS) 中备份数据库,可以按照以下步骤操作: 打开 SQL Server Management Studio (SSMS)。 连接到你要备

    2024年01月17日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包