from pymysql import connect
class JD():
def __init__(self):
# 定義一個conn屬性用來存儲連接數據庫後的connect對象
self.conn = connect(host='localhost', port=3306, database='test', user='root', password='123456', charset='utf8')
# 定義一個cs屬性用來存儲創建cursor遊標對象
self.cs = self.conn.cursor()
def __del__(self):
'''手動刪除對象後會執行該方法或者python系統會自動執行該方法'''
# 關閉對象
self.cs.close()
self.conn.close()
def implement_sql(self,sql):
'''執行查詢數據庫的sql語句'''
# 執行sql語句
self.cs.execute(sql)
# 將查詢到的數據全部顯示出來
ret = self.cs.fetchall()
for temp in ret:
print(temp)
def show_all_items(self):
'''顯示所有商品信息'''
# 準備查詢所有查詢所有商品信息sql語句
sql = 'select * from goods;'
# 調用執行sql語句方法,將sql傳過去
self.implement_sql(sql)
def show_cates(self):
'''顯示所有商品種類'''
# 準備sql語句
sql = 'select cate_name from goods group by cate_name;'
# 調用執行sql語句方法,將sql傳過去
self.implement_sql(sql)
def show_brands(self):
'''顯示所有品牌種類'''
# 準備顯示所有品牌種類的sql語句
sql = 'select brand_name from goods group by brand_name;'
# 調用implement_sql()方法
self.implement_sql(sql)
def add_cates_info(self):
'''增加商品種類信息'''
add_cate_name = input('請輸入你要添加的商品種類名稱: ')
# 準備增加商品種類的sql語句
sql = '''insert into goods (name,cate_name, brand_name) values ('zcx 超級無敵遊戲電腦','%s','alien');''' % add_cate_name
# 執行sql語句 不能調用 implement_sql()方法。因爲我們現在是往數據庫增加數據,不是查看數據
self.cs.execute(sql)
# 增、刪、該mysql數據庫中的數據,都必須通過connect對象提交
self.conn.commit()
print('添加成功!!!')
@staticmethod
def show_menu():
'''顯示功能菜單'''
msg = '''
--------------京東商城----------------
1.查詢所有商品信息
2.查詢所有商品種類
3.查詢所有商品的品牌
4.增加商品種類
0.退出
------------------END--------------------
'''
print(msg)
choice = input('請輸入你選擇的功能: ')
# 將用戶輸入的選擇返回給函數調用者 即返回給self.show_menu()
return choice
def run(self):
while True:
# 調用顯示菜單方法 show_menu()
choice = self.show_menu()
if choice == '1':
# 調用顯示所有商品信息方法
self.show_all_items()
elif choice == '2':
self.show_cates()
elif choice == '3':
self.show_brands()
elif choice == '4':
# 增加商品信息
self.add_cates_info()
elif choice == '0':
break
else:
print('輸入錯誤,請重新輸入..')
def main():
# 創建一個實例對象
jd = JD()
# 調用run()方法,讓其運行起來
jd.run()
if __name__ == '__main__':
main()
面向對象的思想操作mysql數據庫增刪改查)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.