在做python自動化時,結(jié)果斷言很重要,相較數(shù)據(jù)固定校驗(數(shù)據(jù)維護比較復雜),我們更期望實現(xiàn)動態(tài)的校驗數(shù)據(jù)。
數(shù)據(jù)存儲在數(shù)據(jù)庫或者redis中,因此學會python操作數(shù)據(jù)庫和redis勢在必行。
安裝和使用:
安裝pymysql
pipinstallpymysql
導入pymysql
importpymysql
數(shù)據(jù)庫操作
1.首先,連接數(shù)據(jù)庫
conn=pymysql.connect(host='host',user='user',password='password',database='database',charset='utf8')
2.獲取游標對象
#得到一個可以執(zhí)行SQL語句的光標對象,默認輸出為元組,如果字典形式輸出:cursor=conn.cursor(pymysql.cursors.DictCursor)
cursor=conn.cursor()
3.執(zhí)行sql語句
result=cursor.execute(sql)
4.關(guān)閉光標對象
cursor.close()
5.關(guān)閉數(shù)據(jù)庫連接
conn.close()
6.其他
conn.commit()為提交事務:
因為pymysql模塊默認是啟用事務的。如果不提交,相當于沒有執(zhí)行。
一般在增刪改sql執(zhí)行后,需要提交事務。
cursor.executemany批量操作數(shù)據(jù)。
適用于增刪改。
執(zhí)行sql時,如果發(fā)生異常,可進行異常處理-回滾。
try:
result=cursor.executemany(sql_add,data)
conn.commit()
exceptExceptionase:
conn.rollback()
示例
1.增加數(shù)據(jù)
sql_add='insertintouser(name,pwd)VALUES(%s,%s);'
#執(zhí)行SQL語句
result=cursor.execute(sql_add,['admin','admin123'])
#提交事務
conn.commit()
2.刪除數(shù)據(jù)
sql_del='deletefromuserwherename='admin';
#執(zhí)行SQL語句
result=cursor.execute(sql_del,['admin','admin123'])
conn.commit()
3.修改數(shù)據(jù)
sql_update='updateusersetname=%swherename=%s';
result=cursor.execute(sql_update,['admin','admin123'])
conn.commit()
4.查詢數(shù)據(jù)
#定義要執(zhí)行的SQL語句
sql='select*fromuserwherename=%sandpwd=%s;'
#執(zhí)行SQL語句
result=cursor.execute(sql,['admin','admin123'])
#獲取一個
print(cursor.fetchone())
#獲取多個,默認為1
print(cursor.fetchmany(2))
#獲取所有
print(cursor.fetchall())
以上內(nèi)容為大家介紹了Python操作MySQL,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。http://m.2667701.com/