python编写的 学生信息管理系统+MySQL数据库

实现了增删改查的基本功能

有需要的可以自行下载

注意:代码已经更新!可以直接运行,不需要自己建立数据库和表!

下载链接:
https://download.csdn.net/download/qq_52889967/16243325

java实现聊天室:
https://blog.csdn.net/qq_52889967/article/details/118553306

pythonUI界面的在这里:
https://blog.csdn.net/qq_52889967/article/details/117714792

先上图:

用户名和密码为自己的数据库的用户名和密码!!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
录入学生后的数据库信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
另存的信息如下:
在这里插入图片描述
数据库信息:

本人使用的是MySQL5.7版本的数据库
数据库端口号为:3306
数据库连接名是:root
数据库用户名是:root
数据库名称是:mydatabase
建立的表是:student

在运行代码前请先确定编程软件(本人使用的是pycharm)是否安装PyMySQL

PyMySQL 安装方法

转载:
https://www.runoob.com/python3/python3-mysql.html

部分源代码展示:
在这里插入图片描述

import pymysql


class Database:
    db = None
    cursor = None
    
    # 加入学生
    def addstudent(self, user, password, sno, sname, sex, birthday, phone, dorm):
        self.condatabase(self, user, password)
        sql = "insert into student values" \
              "(%s,%s,%s,%s,%s,%s)" % (repr(sno), repr(sname), repr(sex), repr(birthday), repr(phone), repr(dorm))
        try:
            # 使用 execute()  方法执行 SQL
            self.cursor.execute(sql)
            self.db.commit()
        except:
            self.db.rollback()
        # 关闭数据库连接
        self.db.close()

    # 输出学生
    def showstudent(self, user, password):
        self.condatabase(self, user, password)
        sql = "select * from student"
        try:
            self.cursor.execute(sql)
            student = self.cursor.fetchall()
            for row in student:
                print("学号:%s  姓名:%s  性别:%s  年龄:%s  电话:%s  宿舍号:%s" % (row[0], row[1], row[2], row[3], row[4], row[5]))
        except:
            self.db.rollback()
        self.db.close()

    # 删除学生
    def deletestudent(self, user, password, sno):
        self.condatabase(self, user, password)
        sql = "delete from student where sno = %s" % repr(sno)
        try:
            self.cursor.execute(sql)
            self.db.commit()
            print("删除成功!!!")
        except:
            self.db.rollback()
            print("不存在当前学生!!!")
        self.db.close()
        
    # 判断学号重复
    def determinestudent(self, user, password, sno):
        self.condatabase(self, user, password)
        sql = "select * from student where sno = %s" % repr(sno)
        try:
            self.cursor.execute(sql)
            row = self.cursor.fetchone()
            if row is not None:
                print("学号重复!!!\n重复学生为:")
                print("学号:%s  姓名:%s  性别:%s  年龄:%s  电话:%s  宿舍号:%s" % (row[0], row[1], row[2], row[3], row[4], row[5]))
                return True
        except:
            self.db.rollback()
            return False
        self.db.close()
from Database import Database


class Student(object):
    # 定义用户名和密码
    user = None
    password = None

    # 录入学生
    def addstudent(self):
        studentNumber = int(input("请输入录入的学生人数:"))
        for i in range(studentNumber):
            sno = input("请输入学号:")
            if not Database.determinestudent(Database, self.user, self.password, sno):
                sname = input("请输入姓名:")
                sex = input("请输入性别:")
                birthday = input("请输入年龄:")
                phone = input("请输入电话:")
                dorm = input("请输入宿舍号:")
                Database.addstudent(Database, self.user, self.password, sno, sname, sex, birthday, phone, dorm)
                print("加入学生成功!!!\n")

    # 界面打印
    @staticmethod
    def printui():
        print("**************************")
        print("**  输入:0  --退出程序--  **")
        print("**  输入:1  --录入学生--  **")
        print("**  输入:2  --输出学生--  **")
        print("**  输入:3  --删除学生--  **")
        print("**  输入:4  --查询学生--  **")
        print("**  输入:5  --修改学生--  **")
        print("**  输入:6  --另存学生--  **")
        print("**************************")

    # 登录界面
    def ui(self):
        print("*********************************")
        print("**     欢迎使用学生信息管理系统    **")
        print("**   请输入用户名和密码以进入系统   **")
        print("*********************************")
        self.user = input("请输入用户名:")
        self.password = input("请输入密码:")

    # 保存程序
    def data(self):
        Database.savestudent(Database, self.user, self.password)

    # 程序调用
    def run(self):
        while True:
            Student.ui(Student)
            if Database.condatabase(Database, self.user, self.password):
                print("登陆成功!!!")
                self.printui()
                number = input("请输入功能前面的代码:")
                # 无限循环
                while True:
                    if int(number) == 1:
                        self.addstudent()
                        self.printui()
                        number = input("请输入功能前面的代码:")
                    elif int(number) == 2:
                        self.showstudent()
                        self.printui()
                        number = input("请输入功能前面的代码:")
                    elif int(number) == 3:
                        self.deletestudent()
                        self.printui()
                        number = input("请输入功能前面的代码:")
                    elif int(number) == 4:
                        self.selectstudent()
                        self.printui()
                        number = input("请输入功能前面的代码:")
                    elif int(number) == 5:
                        self.changestudent()
                        self.printui()
                        number = input("请输入功能前面的代码:")
                    elif int(number) == 6:
                        self.data()
                        self.printui()
                        number = input("请输入功能前面的代码:")
                    elif int(number) == 0:
                        break
                    else:
                        print("您输入的序号不对!\n请重新输入!")
                        self.printui()
                        number = input("请输入功能前面的代码:")
                print("感谢使用!!!\n再见!!!")
                exit()
            elif self.user == "exit":
                exit()
            else:
                print("用户名或密码错误!!!\n请重新输入!!!\n用户名输入 exit 退出程序!!!")

Logo

更多推荐