【数据库设计】pyqt通过os.system()命令进行mysql数据库备份与恢复

【数据库设计】pyqt通过os.system命令进行mysql数据库备份与恢复

版权声明

版权声明:本文为CSDN博主「蓝精灵喜欢格格巫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dive668/article/details/119023561

前言

此处遇到os.popen()和os.system()的区别,后者是黎哥所教。前者自己还没探索出来。
这次学习,学会了中断执行一行代码的实现,但是如何进一步对命令行进行传参,比如我们先通过os.system()输入了一行mysqldump导出命令,但是终端会提示输入密码,怎么让pyqt进一步传递这个参数过去???

再弹出个对话框,用户输入,点击按钮后再os.system()执行?还没试,只是有这个想法。

在这里插入图片描述

备份代码

from PyQt5 import QtCore, QtGui, QtWidgets
import sys,os

def data_backup(self):
    #r"mysqldump.exe --add-drop-table -u %1 -p %2 student_status_information"%("root","123456"),"r"
    key="123456"
    self.back_path="D://backup"
    os.system("mysqldump -uroot -p%s student_status_information > %s.sql" % (key, self.back_path))
    Success_msg=QtWidgets.QMessageBox()
    Success_msg.setText("备份数据到D盘根目录成功,文件路径为{}.sql".format(self.back_path))
    Success_msg.exec()

在这里插入图片描述
终端显示如下:
在这里插入图片描述
D盘下文件:
在这里插入图片描述
在这里插入图片描述

恢复代码

from PyQt5 import QtCore, QtGui, QtWidgets
import sys,os

def data_restore(self):
    key="123456"
    filename="D://backup.sql"
    if os.path.isfile(filename):  # 判断该路径的是否是文件
        os.system("mysql -uroot -p%s  test_for_student_status_information< %s" % (key, filename))
        Success_msg=QtWidgets.QMessageBox()
        Success_msg.setText("从{}恢复数据成功".format(filename))
        Success_msg.exec()
    else:
        Error_msg_stu_info=QtWidgets.QMessageBox()
        Error_msg_stu_info.setText("请检查D://backup.sql文件是否存在")
        Error_msg_stu_info.exec()

回显如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值