python?管理系統(tǒng)實現(xiàn)mysql交互的示例代碼
沒配置的可以看一下我上一篇
地址
開啟小皮
數(shù)據(jù)庫text 數(shù)據(jù)庫表 student 字段 student_no name age sex
效果圖如下
增
刪
查
改
用類的方法寫了一下構造搞了半天 但搞出來了
修改那有個bug 修改玩了還卡在那輸入一個不存在的學號就退出當前 回到主頁面了
寫著復盤
''' 學生系統(tǒng)基本功能 增刪查改 ''' 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'查詢成功數(shù)據(jù)為:{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'查詢成功數(shù)據(jù)為:{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): ''' 改函數(shù)是為了展示功能界面 ''' #1.顯示系統(tǒng)的功能菜單 print('-------學生管理系統(tǒng)1.0________') print('+-----------------------------+') print('| 1) 添加學生信息 |') print('| 2) 修改學生信息 |') print('| 3) 刪除學生信息 |') print('| 4) 顯示所有學生 |') print('| 5) 查詢學生信息 |') print('| 6) 退出管理系統(tǒng) |') print('+-----------------------------+') # 添加學生函數(shù) def add_student(self): name = input("請輸入學生的姓名:") age = input("請輸入學生的年齡:") sex = input("請輸入學生的性別:") db.insert(name,age,sex) # 添加一個學生,需要自己創(chuàng)建一個學生對象 stu = Student(name, age, sex) # 把對象添加到列表里面 self.student_list.append(stu) #print(self.student_list) #print('添加成功') # 顯示所有學生函數(shù) 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 ) # 修改學生信息函數(shù) 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("對不起,沒有該學生") # 程序入口函數(shù),程序開始時第一個執(zhí)行的函數(shù) def run(self): while True: # 1.顯示系統(tǒng)功能菜單 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 管理系統(tǒng)實現(xiàn)mysql交互的文章就介紹到這了,更多相關python 管理系統(tǒng)mysql交互內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中easy_install 和 pip 的安裝及使用
本篇文章主要介紹了Python中easy_install 和 pip 的安裝及使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06Python數(shù)據(jù)模型與Python對象模型的相關總結
這篇文章主要介紹了Python數(shù)據(jù)模型與Python對象模型的相關總結,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2021-01-01詳解在Anaconda環(huán)境下Python安裝pydot與graphviz的方法
這篇文章主要為大家詳細介紹了在Anaconda環(huán)境中,安裝Python語言pydot與graphviz兩個模塊的方法,文中的安裝方法講解詳細,感興趣?的可以了解一下2023-02-02

Python?Web?App開發(fā)Dockerfiles編寫示例