Python-mySql操作
阿新 • • 發佈:2018-03-22
傳參 執行 commit rod select nec dict pan body
python連接數據庫MySQL並操作數據庫:
1)首先需要引入模塊pymysql,通過pymysql的方法connect傳參獲得數據庫的連接,代碼如下:
#db_name-數據庫名;db_user-用戶名;db_pass-密碼;db_host-數據庫ip;db_port-數據庫端口號;charset-編碼 conn = pymysql.connect(db=db_name, user=db_user, passwd=db_pass, host=db_host, port=db_port,charset=‘utf8‘)
以上代碼註意charset這個參數,不設置改參數的話,對數據庫進行操作時有可能會報如下的錯誤:
‘ordinal not in range(256)
2)連接數據庫後,獲取遊標:
# 獲取遊標 cursor = conn.cursor()
3)然後可以對數據庫進行操作了:
# 1查詢 sel_sql = """SELECT * FROM product_class""" # 執行查詢操作 cursor.execute(sel_sql) # 將返回的結果轉換成字典格式 data = [dict((cursor.description[i][0], value) for i, value in enumerate(row)) for row in cursor.fetchall()]# 關閉遊標和數據庫鏈接 cursor.close() conn.close() # 2插入 insert_sql = """INSERT INTO product_class(name, is_enable) VALUES (%s, %s);""" # 執行sql語句 cursor.execute(sql, vars) # 提交事務 conn.commit() ## 失敗可以通過捕獲異常後進行回滾 # conn.rollback() # 關閉遊標和數據庫鏈接 cursor.close() conn.close() # 3修改更新 update_sql = """UPDATE product_class SET name=%s, is_enable=%s WHERE id=10000;""" ## 同插入操作類似
Python-mySql操作