文章目录
基于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的人是一个很好的练习。
有兴趣的小伙伴也可以自己写一个