python中mysql資料互動
def main(): conn = pymysql.connect(host="localhost", user="root", password="mysql", database="jingdong", charset="utf8")
# # 假如cursor=pymysql.cursors.DictCurosr,則 返回的Cursor是字典Cursor,返回的結果集是以字典的形式呈現的 # cs1 = conn.cursor(cursor=pymysql.cursors.DictCursor) # conn.cursor(cursor=pymysql.cursors.DictCursor)
cls = conn.cursor()
sql = "select name,price from goods" affect_all = cls.execute(sql)
print("受影響的行數有:%s %s" % (affect_all, cls.rowcount))
for i in range(cls.rowcount): # 這句話沒什麼用,差不多就是執行21次,無輸出,目的是為了讓下面面能夠全部取出來 result = cls.fetchone() # 這裡為取部分,採用單詞fetchone, print("產品名稱為:%s 產品價格為%0.2f" % (result[0], result[1])) # result0與1分別對應的是變數sql裡面的name和price值 # 採用上面這種方法會有很大的不確定性 ,若name和price調換位置,其結果也會改變,不實用
# result = cls.fetchall() # 這裡為取全部,採用單詞fetchall,直接列印item取出資料為元組,為了取小數內容更直觀,分開取 # for item in result: # # print("產品名稱為:%s 產品價格為%0.2f" % (item[0], item[1])) # print(item)
cls.close() conn.close()
if __name__ == '__main__': main()