python 管理系统实现mysql交互的示例代码


Posted in Python onDecember 06, 2021

开启小皮

python 管理系统实现mysql交互的示例代码

数据库text 数据库表 student 字段 student_no name age sex

python 管理系统实现mysql交互的示例代码

效果图如下

python 管理系统实现mysql交互的示例代码

python 管理系统实现mysql交互的示例代码

python 管理系统实现mysql交互的示例代码

python 管理系统实现mysql交互的示例代码

用类的方法写了一下构造搞了半天 但搞出来了
修改那有个bug 修改玩了还卡在那输入一个不存在的学号就退出当前 回到主页面了
写着复盘

'''
学生系统基本功能
增删查改
'''
import  pymysql
class Mysql(object):
	#初始化方法
    def __init__(self):
        self.db = pymysql.connect(
            host='localhost',
            user='root',
            password='123456789',
            port=3306,
            db='text'
        )
        self.cursor = self.db.cursor()
    # 添加
    def insert(self, name, age, sex):
        sql = "INSERT INTO student(name, age,sex) values(%s, %s, %s)"
        try:
            self.cursor.execute(sql, (name, age, sex))
            self.db.commit()
            print('插入成功')
        except:
            self.db.rollback()
            print('插入失败')
            self.db.close()
            pass
    #查询所有
    def select(self):
        sql = "select * from student "
        try:
            self.cursor.execute(sql)
            result = self.cursor.fetchall()
            self.db.commit()
            print(f'查询成功数据为:{result}')
        except:
            self.db.rollback()
            self.db.close()
            pass
    #查询单个
    def select_one(self,name):
        sql = "select name from student "
        try:
            self.cursor.execute(sql)
            result = self.cursor.fetchall()
            self.db.commit()
            print(f'查询成功数据为:{result}')
        except:
            self.db.rollback()
            self.db.close()
            pass
	修改那有个bug 修改玩了还卡在那输入一个不存在的学号就退出当前 回到主页面了
    # 修改
    def Revise(self, student_no, name, age):
        sql = "update student set name=%s,age=%s where student_no=%s"
        params = [name, age, student_no]
        try:
            self.cursor.execute(sql, (params))
            self.db.commit()
            print('修改成功')
            pass
        except:
            self.db.rollback()
            print('修改失败')
            self.db.close()
            pass
    #删除
    def del_Revise(self,student_no):
        sql = "delete from student where student_no=%s "
        params = [student_no]
        try:
            self.cursor.execute(sql,(params))
            self.db.commit()
            print('删除成功')
        except:
            self.db.rollback()
            print('删除失败')
            self.db.close()
            pass
#学生类
class Student():
    #初始化方法
    def __init__(self,name,age,sex):
        #添加属性
        self.name =name
        self.age =age
        self.sex =sex
class StudentManageSystem():
    def __init__(self):
        #定义一个列表
        self.student_list = list()
    #打印功能
    def show_menu(self):
        '''
        改函数是为了展示功能界面
        '''
        #1.显示系统的功能菜单
        print('-------学生管理系统1.0________')
        print('+-----------------------------+')
        print('|  1) 添加学生信息            |')
        print('|  2) 修改学生信息          |')
        print('|  3) 删除学生信息                  |')
        print('|  4) 显示所有学生                  |')
        print('|  5) 查询学生信息               |')
        print('|  6) 退出管理系统               |')
        print('+-----------------------------+')
    # 添加学生函数
    def add_student(self):
        name = input("请输入学生的姓名:")
        age = input("请输入学生的年龄:")
        sex = input("请输入学生的性别:")
        db.insert(name,age,sex)
        # 添加一个学生,需要自己创建一个学生对象
        stu = Student(name, age, sex)
        # 把对象添加到列表里面
        self.student_list.append(stu)
        #print(self.student_list)
        #print('添加成功')
    # 显示所有学生函数
    def show_all_student(self):
        db.select()
        for index, student in enumerate(self.student_list):
            student_no = index + 1
            print("学号:", student_no,
                  "姓名:", student.name,
                  "年龄:", student.age,
                  "性别:", student.sex
                  )
    # 修改学生信息函数
    def modify_student(self,student_no, name, age):
        # 1.接收用户输入的学号
        db.Revise(student_no,name,age)
        student_no = int(input("请输入要修改学生的学号:"))
        index = student_no - 1
        index = student_no
        student_no = index
        if 0 <= index < len(self.student_list):
            student = self.student_list[index]
            new_name = input("请输入修改后的姓名:")
            new_age = input("请输入修改后的年龄:")
            # new_sex = input("请输入修改后的性别:")
            student.name = new_name
            student.age = new_age
            # student.sex = new_sex
            name = new_name
            age = new_age
            # sex = new_sex
            #print("修改成功")
        else:
            print("请输入正确的学号:")
    # 删除学生信息
    def delete_student(self):
        try:
            student_no = int(input("请输入要删除学生的学号:"))
            db.del_Revise(student_no)
            # 2.将学号转换为下标
            index = student_no - 1
            if 0 <= index <= len(self.student_list):
                student = self.student_list.pop(index)
                print("%s,删除成功!" % student.name)
            else:
                print("请输入有效学号!")
        except:
            pass
    # 查询某个学生信息
    def query_student(self):
        name = input("请输入要查询学生的姓名:")
        db.select_one(name)
        for index, student in enumerate(self.student_list):
            student_no = index + 1
            if student.name == name:
                print("学号:", student_no,
                      "姓名:", student.name,
                      "年龄:", student.age,
                      "性别:", student.sex
                      )
                break
            else:
                print("对不起,没有该学生")
    # 程序入口函数,程序开始时第一个执行的函数
    def run(self):
        while True:
        # 1.显示系统功能菜单
            self.show_menu()
        # 2.接收用户输入的功能选项
            menu_option = input("请输入你要操作的功能选项:")
        # 3. 判断用户选择的指定功能,然后完成对应的操作(增删改查的功能)
            if menu_option == "1":
                print("添加学生信息")
                self.add_student()
            elif menu_option == "2":
                print("修改学生信息")
                student_no = int(input("请输入要修改学生的学号:"))
                name = input('请输入要修改学生的姓名:')
                age = input('请输入要修改学生的年龄:')
                self.modify_student(student_no, name, age)
            elif menu_option == "3":
                print("删除学生信息")
                self.delete_student()
            elif menu_option == "4":
                print("显示学生信息")
                self.show_all_student()
            elif menu_option == "5":
                print("查询学生信息")
                self.query_student()
            else:
                print("程序退出")
                break
if __name__ == '__main__':
    db = Mysql()
    system = StudentManageSystem()
    #程序入口方法
    system.run()

到此这篇关于python 管理系统实现mysql交互的文章就介绍到这了,更多相关python 管理系统mysql交互内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
python django中8000端口被占用的解决
Dec 17 Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 Python
详解python常用命令行选项与环境变量
Feb 20 Python
Python列表切片常用操作实例解析
Mar 10 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
python3操作redis实现List列表实例
Aug 04 Python
浅析Python中的随机采样和概率分布
Dec 06 Python
Python中super().__init__()测试以及理解
Dec 06 #Python
浅析Python中的随机采样和概率分布
Dec 06 #Python
python程序的组织结构详解
Python中异常处理用法
Nov 27 #Python
python中的3种定义类方法
Nov 27 #Python
5道关于python基础 while循环练习题
Nov 27 #Python
Python中的pprint模块
Nov 27 #Python
You might like
使用Apache的rewrite技术
2006/06/22 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
php中使用websocket详解
2016/09/23 PHP
php如何获取Http请求
2020/04/30 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
Python中动态创建类实例的方法
2017/03/24 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
客服工作职责
2013/12/11 职场文书
临床医师个人自我评价
2014/04/06 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
质量承诺书格式范文
2015/04/28 职场文书
运动会宣传稿100字
2015/07/23 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers