python 中如何编写删除MySQL数据库的脚本

2025-11-05 13:39:05

1、思路:

①创建一个模块,用于运行主循环,包括一些菜单功能,及根据情况调用辅助模块的函数。

②创建辅助的模块,包括自定义的一些函数,例如,显示数据库的功能,删除数据库的功能等。

python 中如何编写删除MySQL数据库的脚本

2、创建my_main.py文件,及my_tools.py文件,测试在主模块中调用辅助模块的功能,能顺利执行。

这就是大概的思路,然后在做修改,进一步美化输出界面,及完善各项功能。

python 中如何编写删除MySQL数据库的脚本

1、在工具模块(tools.py) 定义一个界面开始的函数,显示功能菜单的说明;并在主运行模块中调用。

def menu():

 

   print('\033[1;31m'+'=' * 60)

 

   print('\t数据库操作系统 V1.0')

 

   print('\t功能:[0].退出系统,'

 

         '[1].查看数据库, '

 

         '[2].删除数据库')

 

   print('=' * 60+'\033[0m')

注:将输出字体附加颜色,美化输出界面。

python 中如何编写删除MySQL数据库的脚本

2、在工具模块中导入PyMySQL模块, 定义查询数据库名称的函数 show_databases():

def show_databases():

 

   conn = pymysql.connect(host='localhost',

 

                          user='root',

 

                          password='000')

 

   cursor = conn.cursor()  

 

   cursor.execute('show databases;') 

 

   result = cursor.fetchall() 

 

   cursor.close() 

 

   conn.close()

 

   for i in range(len(result)):

 

       print('\t'+result[i][0])

运行主模块代码,显示了查询结果。

python 中如何编写删除MySQL数据库的脚本

3、在工具模块中定义删除数据库的函数 drop_databases():

def drop_database():

 

   name = input('\t\033[4;32m输入要删除的数据库:\033[0m')

 

   conn = pymysql.connect(host='localhost',

 

                          user='root',

 

                          password='000')

 

   cursor = conn.cursor()

 

   cursor.execute('drop database  %s' % name)

 

   cursor.close()

 

   conn.close()

 

   print('\t数据库[%s]已删除!'%name)

测试删除db1数据库;

python 中如何编写删除MySQL数据库的脚本

4、运行功能1查看数据库,或使用命令提示符窗口查看,db1已经删除。

python 中如何编写删除MySQL数据库的脚本

5、删除数据库的函数需要修改,因为当输入了错误的数据库名字时会抛出异常。

例如删除 db10.

python 中如何编写删除MySQL数据库的脚本

6、使用try语句捕获异常,并调用自身,继续执行函数,直到输入正确退出,或输入0退出;

try:

 

   cursor.execute('drop database  %s' % name)

 

   print('\t数据库[%s]已删除!' % name) 

 

except Exception:

 

   cursor.execute('show errors') 

 

   error = cursor.fetchone() 

 

   if name == '0':

 

       return

 

   elif error['Code'] == 1064:

 

       print('\t\033[1;31m[%s]输入数据库语法错误,请重新输入,或0退出!\033[0m' % name)

 

       drop_database() 

 

   elif error['Code'] == 1008:

 

       print('\t\033[1;31m[%s]数据库不存在,请重新输入,或0退出!\033[0m' % name)

 

       drop_database()  

 

   else:

 

       print('\t\033[1;31m输入异常,请重新输入,或0退出!\033[0m')

 

       drop_database() 

测试输出,不再抛出异常。

python 中如何编写删除MySQL数据库的脚本

7、可以根据此方法将创建数据库的功能添加进来。

python 中如何编写删除MySQL数据库的脚本

1、如果要在命令提示符窗口显示设置的颜色需要安装。colorama模块。

from colorama import init

 

init(autoreset=True)

注:如果使用 input()函数中的字符串参数设置制表键\t,或设置颜色可能会乱码,不显示颜色,所以我这里取消了。暂时还没有找到办法。

python 中如何编写删除MySQL数据库的脚本

2、①将这两个文件 my_main.py,及my_tools.py 单独存放于一个文件夹,如:

本例中放入 E:\dbsys 目录中。

②在命令提示符窗口cd到此目录。

③执行pyinstaller my_main.py  即可开始编译。

python 中如何编写删除MySQL数据库的脚本

3、在 E:\dbsys\dist\my_main 目录下运行,my_main.exe文件。测试脚本成功。

python 中如何编写删除MySQL数据库的脚本

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢