1. 程式人生 > >Python-mySql操作

Python-mySql操作

傳參 執行 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操作