from pymysql import connect
class JD():
# 初始化方法。一旦創建實例對象初始化方法就會執行
def __init__(self):
# 只要創建實例對象就會調用該方法。 長連接
# 連接mysql數據庫
self.conn = connect(host='localhost', port=3306, database='test', user='root', password='123456', charset='utf8')
# 創建cursor遊標對象
self.cs = self.conn.cursor()
def __del__(self):
'''手動調用del或者由Python自動回收都會觸發__del__方法執行。'''
# 關閉對象
self.cs.close()
self.conn.close()
def excute_sql(self,sql):
'''
執行查詢sql語句方法
:param sql: 形參,等待用戶傳sql語句過來
:return:
'''
self.cs.execute(sql) # 執行sql語句
for temp in self.cs.fetchall():
print(temp)
def show_all_items(self):
''' 顯示所有商品信息的方法'''
sql = 'select * from goods;'
self.excute_sql(sql)
def show_cates(self):
'''顯示所有商品種類方法'''
sql = 'select cate_name from goods;'
self.excute_sql(sql)
def show_brands(self):
'''顯示所有商品品牌方法'''
sql = 'select brand_name from goods group by brand_name;'
self.excute_sql(sql)
@staticmethod
def print_menu():
msg = '''
--------京東商城------------
1.查詢所有商品信息
2.查詢所有商品種類
3.查詢所有商品的品牌
0.退出
'''
print(msg)
# 將用戶輸入返回給調用者self.print_menu() 即返回給choice
return input('請選擇功能: ')
def run(self):
while True:
choice = self.print_menu()
if choice == '1':
# 查詢所有商品信息
self.show_all_items()
elif choice == '2':
# 查詢所有商品種類
self.show_cates()
elif choice == '3':
# 查詢所有商品的品牌
self.show_brands()
elif choice == '0':
break
else:
print('輸入錯誤,請重新輸入')
def main():
# 創建一個JD實例對象
jd = JD()
# 調用這個實例對象的run()方法,讓其運行
jd.run()
if __name__ == '__main__':
main()
面向對象的思想完成從mysql數據庫查詢數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.