python操作mysql 數據查詢


安裝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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM