python 管理系統實現mysql交互的示例代碼
沒配置的可以看一下我上一篇
地址
開啟小皮
數據庫text 數據庫表 student 字段 student_no name age sex
效果圖如下
增
刪
查
改
用類的方法寫瞭一下構造搞瞭半天 但搞出來瞭
修改那有個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交互內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python通過pymysql調用MySQL進行增刪改移查
- python mysql實現學生成績管理系統
- 使用python實現學生信息管理系統
- 教你用Python實現簡易版學生信息管理系統(含源碼)
- 教你怎麼用Python操作MySql數據庫