0
点赞
收藏
分享

微信扫一扫

数据库操作系统

河南妞 2022-04-21 阅读 51

文章目录


基于pymysql数据库操作系统

安装需求模块
pymysql

pyinstaller 打包成exe可执行文件

功能需求
简单易操作、exe可执行文件。
实现:创建表、插入数据、修改数据、删除数据、查找数据

代码如下:

import pymysql
import re

# 定义类
class Mysql():
    # 初始化属性
    def __init__(self,name,password):
        try:
            self.con = pymysql.connect(host="127.0.0.1",port=3306,user="root",password=password,database=name,charset="utf8")
        except Exception as e:
            print("连接失败!")
            print(e)
            main()
        else: # 存放没有异常时执行的代码
            # 创建游标对象
            print("连接成功!\n")
            self.c1 = self.con.cursor()


    # 插入数据的方法、修改字段名,修改数据的方法,删除数据的方法,
    def func(self,sql):
        try:
            self.c1.execute(sql)
        except Exception as e:
            self.con.rollback() # 回滚
            print("错误!")
            print(e)
        else:
            self.con.commit()
            print("执行成功!\n")

    # 创建表,删除表
    def funx(self,sql):
        try:
            self.c1.execute(sql)
        except Exception as e:
            self.con.rollback() # 回滚
            print("错误!")
            print(e)
        else:
            print("执行成功!\n")

    # 查询方法
    def select(self,sql):
        try:
            self.c1.execute(sql)
        except Exception as e:
            print("查询失败!")
            print(e)
        else:
            ret1 = self.c1.fetchall()
            for i in ret1:
                print(i)
            print()

    # 关闭
    def close(self):
        self.c1.close()
        self.con.close()

# 输入sql语句
def input_sql():
    sql = ""
    while True:
        str1 = input(":")
        if str1 == "0":
            return "0"
        sql = sql + str1
        if sql.endswith(";"):
            break
    return sql

def main():
    name = input("请输入数据库名:")
    password = input("请输入密码:")
    mysql = Mysql(name, password)
    print("\t\t\t欢迎进入数据库操作系统!")
    print("使用前请阅读使用说明:")
    print("\t\t1.数据库操作系统,使用方法:输入sql语句回车即可自动执行!")
    print("\t\t2.sql语句必须以;(英文分号)结尾!严格区分中英文!")
    print("\t\t3.若要退出数据库操作系统!输入0即可退出!")
    print()
    while True:
        sql = input_sql()
        if sql == "0":
            break
        # 插入数据的方法、修改字段名,修改数据的方法,删除数据的方法,
        elif re.match(r"^[Ii][Nn][Ss][Ee][Rr][Tt].*;$", sql) or re.match(r"^[Aa][Ll][Tt][Ee][Rr].*;$", sql) or re.match(r"^[Uu][Pp][Dd][Aa][Tt][Ee].*;$", sql) or re.match(r"^[Dd][Ee][Ll][Ee][Tt][Ee].*;$", sql):
            mysql.func(sql)
        # 创建表,删除表
        elif re.match(r"^[Cc][Rr][Ee][Aa][Tt][Ee].*;$", sql) or re.match(r"^[Dd][Rr][Oo][Pp].*;$", sql):
            mysql.funx(sql)
        # 查询表数据,表,表结构
        elif re.match(r"^[Ss][Ee][Ll][Ee][Cc][Tt].*;$", sql) or re.match(r"^[Ss][Hh][Oo][Ww].*;$", sql) or re.match(r"^[Dd][Ee][Ss][Cc].*;$", sql):
            mysql.select(sql)
        else:
            print("你输入的sql语句不正确!请重新输入!")

    mysql.close()
    print("已退出数据库系统!")
    exit(0)

if __name__ == '__main__':
    main()

右键运行测试如下
在这里插入图片描述
最后打包py文件
将.py文件打包成.exe可执行文件

进入数据库操作系统根目录下,在文件路径中输入cmd回车。
在这里插入图片描述

在弹出的命令窗口中输入。

说明:各个参数的作用,
例子:pyinstaller -F -w -pD:\tmp\core-python\libs -i d:\tmp\main.ico main.py
-F 表示生成单个可执行文件;
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-c –console, –nowindowed 使用控制台,无界面(默认);
-p 表示你自己自定义需要加载的类路径,一般情况下用不到;
-i 表示可执行文件的图标。

这里作者用Photoshop自制了一张图标。

然后回车即可。
在这里插入图片描述

生成的.exe文件在dist目录下,打开dist文件里面的就是已经生成的.exe可执行文件了
在这里插入图片描述
然后右键发送一个快捷方式到桌面,双击即可运行。
在这里插入图片描述
最终效果如下:
请添加图片描述

总结

虽然这个操作系统有些鸡肋,但是对于初学pymysql的人是一个很好的练习。

有兴趣的小伙伴也可以自己写一个

举报

相关推荐

0 条评论