安裝pymysql模塊:pip install pymysq

1 from pymysql import * 2 3 def main(): 4 # 第一步 創建connect連接 5 conn = connect(host="localhost",port=3306,user="root",password="",database="jing_dong",charset="utf8") 6 # 第二部獲取cursor對象(游標對象) 7 cs1 = conn.cursor() 8
中間是自由操作,上面兩句和下面兩句是必須創建的,通過execute執行mysql語句:
cs1.execute('select * from jing_dong')
如果是一個查詢語句,查詢結果就保存在游標對象中,用fetch*獲取
cs1.fetch* 取得查詢返回數據 fetch有幾種:
fetchone()、fetchmany()、fetchall()
fetchone()每次返回一條記錄,以元組的形式,fetchmany()是自定義返回記錄數目,返回的每一個元組包含在一個大元組中
獲取記錄時,無論用什么fetch,獲取記錄就像讀取文件那個指針一樣,第二次執行,會接着上一次fetch結束的位置開始,當把所有
記錄獲取之后,再fetch就獲取不到記錄了
9 10 #g關閉cursor對象 11 cs1.close() 12 conn.close() 13 14 15 if __name__ == "__main__": 16 main()
下面是一個查詢示例:
1 from pymysql import * 2 3 def main(): 4 # 創建connect連接 5 conn = connect(host="localhost",port=3306,user="root",password="",database="jing_dong",charset="utf8") 6 #獲取cursor對象 7 cs1 = conn.cursor() 8 9 # count 返回的是表的行數,查詢結果保存在游標對象cs1中 10 count = cs1.execute("select * from goods") 11 12 for i in range(count): 13 print(cs1.fetchone()) 14 15 16 #g關閉cursor對象 17 cs1.close() 18 conn.close() 19 20 21 if __name__ == "__main__": 22 main()
下面又是一個代碼演練:
1 from pymysql import connect 2 3 class JD(object): 4 def __init__(self): 5 self.conn = connect(host="localhost",port=3306,user="root",password="",database="jing_dong",charset="utf8") 6 self.cs1 = self.conn.cursor() 7 8 @staticmethod 9 def print_msg(): 10 print("-------JING DONG---------") 11 print("1 查詢所有數據") 12 print("2、查詢所有品牌") 13 print("3、查詢所有分類") 14 return input("請選擇:") 15
#當程序死掉的時候會自動調用此方法 16 def __del__(self): 17 self.cs1.close() 18 self.conn.close() 19 20 def exe_sql(self,sql): 21 self.cs1.execute(sql) 22 for i in self.cs1.fetchall(): 23 print(i) 24 25 def show_cate(self): 26 sql = "select name from goods_cates" 27 self.exe_sql(sql) 28 29 def show_brand(self): 30 sql = "select name from goods_brands" 31 self.exe_sql(sql) 32 33 def show_all(self): 34 sql = "select * from goods" 35 self.exe_sql(sql) 36 37 def run(self): 38 while True: 39 num = self.print_msg() 40 if num == "1": 41 self.show_all() 42 elif num == "2": 43 self.show_brand() 44 elif num == "3": 45 self.show_cate() 46 else: 47 print("wrong input...try again....") 48 49 def main(): 50 jd = JD() 51 jd.run() 52 if __name__ == "__main__": 53 main()
