一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python筆記33-python3連mysql增刪改查

 上海悠悠 2021-05-27

前言

做自動(dòng)化測(cè)試的時(shí)候,注冊(cè)了一個(gè)新用戶,產(chǎn)生了多余的數(shù)據(jù),下次用同一賬號(hào)就無(wú)法注冊(cè)了,這種情況該怎么辦呢?
自動(dòng)化測(cè)試都有個(gè)數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)清理的操作,如果因?yàn)榇擞美a(chǎn)生了多余的數(shù)據(jù),就需要數(shù)據(jù)清理,可以用python連接mysql直接刪除多余的數(shù)據(jù)就可以了。
那么python3如何連接mysql呢?PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務(wù)器的一個(gè)庫(kù),Python2中則使用mysqldb。

環(huán)境準(zhǔn)備:
python3.6
PyMySQL  0.9.2

環(huán)境準(zhǔn)備

使用pip安裝PyMySQL

pip install PyMySQL

先使用第三方工具連接mysql數(shù)據(jù)庫(kù),比如navicat連接mysql,參考這篇https://www.cnblogs.com/yoyoketang/p/9994078.html

如下圖連接測(cè)試通過(guò),那么連接數(shù)據(jù)庫(kù)至少應(yīng)該知道這些信息,用戶名和密碼是授權(quán)遠(yuǎn)程客戶端的用戶名和密碼,授權(quán)相關(guān)參考這篇https://www.cnblogs.com/yoyoketang/p/10268896.html

連接名: 自己定義,這個(gè)無(wú)所謂
主機(jī)名或ip地址:mysql服務(wù)的ip地址
端口:3306 (端口號(hào),默認(rèn)一般是3306)
用戶名:root (授權(quán)遠(yuǎn)程登錄的用戶名)
密碼:123456 (授權(quán)遠(yuǎn)程登錄的密碼)

查詢操作

如果新建了一個(gè)test數(shù)據(jù)庫(kù),里面有一張user表,有name和psw兩個(gè)字段,使用sql查詢結(jié)果如下

select name,psw from user

接下來(lái)使用python轉(zhuǎn)換成對(duì)應(yīng)的代碼查詢

import pymysql # 打開(kāi)數(shù)據(jù)庫(kù)連接 db = pymysql.connect(host='47.104.x.x',                     port=3306,                     user='root',                     passwd='123456',                     db='test') # 使用 cursor() 方法創(chuàng)建一個(gè)游標(biāo)對(duì)象cur cur = db.cursor() # 使用 execute()  方法執(zhí)行 SQL 查詢 cur.execute("select name, psw from user") # 使用 fetchall() 方法獲取查詢結(jié)果 data = cur.fetchall() print(data) # 關(guān)閉數(shù)據(jù)庫(kù)連接 db.close()

運(yùn)行結(jié)果:

(('yoyo_1’, '111111’), ('yoyo’, '123456’), ('yoyo_2’, '111111’), ('yoyo_3’, '222222’), ('yoyo_4’, '444444’))

有時(shí)候我們只想查詢某個(gè)字段對(duì)應(yīng)的值,比如查詢yoyo_1賬號(hào)對(duì)應(yīng)的psw值,并且取出來(lái)

select psw from user where name=’yoyo_1’

查詢的結(jié)果是(('111111’,),) 元組嵌套元組,取值的話用下標(biāo)取出來(lái)就可以了

import pymysql def select_db(sql):    '''查詢數(shù)據(jù)庫(kù)'''    # 打開(kāi)數(shù)據(jù)庫(kù)連接    db = pymysql.connect(host='47.104.x.x',                         port=3306,                         user='root',                         passwd='123456',                         db='test')    # 使用 cursor() 方法創(chuàng)建一個(gè)游標(biāo)對(duì)象cur    cur = db.cursor()    # 使用 execute()  方法執(zhí)行 SQL 查詢    cur.execute(sql)    # 使用 fetchall() 方法獲取查詢結(jié)果    data = cur.fetchall()    # print(data)  # 取出對(duì)應(yīng)的psw值    # 關(guān)閉數(shù)據(jù)庫(kù)連接    db.close()    return data if __name__ == "__main__":    sql = "select psw from user where name='yoyo_3'"    a = select_db(sql)[0][0]    print("查詢結(jié)果:%s" %str(a))

刪除操作

使用python刪除一條數(shù)據(jù),比如我要?jiǎng)h除yoyo_1這條記錄

delete from user where name=’yoyo_1’

import pymysql def delete_db(sql_delete):    '''刪除操作'''    # 打開(kāi)數(shù)據(jù)庫(kù)連接    db = pymysql.connect(host='47.104.x.x',                         port=3306,                         user='root',                         passwd='123456',                         db='test')    # 使用cursor()方法獲取操作游標(biāo)    cur = db.cursor()    try:        cur.execute(sql_delete)  # 執(zhí)行        # 提交        db.commit()    except Exception as e:        print("操作異常:%s" % str(e))        # 錯(cuò)誤回滾        db.rollback()    finally:        db.close() if __name__ == '__main__':    sql_delete ="delete from user where name='yoyo_1' "    delete_db(sql_delete)

更新操作

更新name用戶名是yoyo的用戶,把psw改成666666

update user set psw=’666666’ where name=’yoyo’

import pymysql def update_db(sql_update):    '''3.更新操作'''    db = pymysql.connect(host='47.104.x.x',                         port=3306,                         user='root',                         passwd='123456',                         db='test')    # 使用cursor()方法獲取操作游標(biāo)    cur = db.cursor()    try:        cur.execute(sql_update)  # 執(zhí)行sql        # 提交        db.commit()    except Exception as e:        # 錯(cuò)誤回滾        print("錯(cuò)誤信息:%s" % str(e))        db.rollback()    finally:        db.close() if __name__ == '__main__':    sql_update ="update user set psw='666666' where name='yoyo'"    update_db(sql_update)

新增數(shù)據(jù)

往數(shù)據(jù)庫(kù)里面插入一條數(shù)據(jù),比如在user表里面新增一個(gè)用戶信息yoyo_10,123456

insert into user(id, name, psw) values(10, 'yoyo_10’, '123456’)

import pymysql def insert_db(sql_insert):    '''插入操作'''    db = pymysql.connect(host='47.104.x.x',                         port=3306,                         user='root',                         passwd='123456',                         db='test')    # 使用cursor()方法獲取操作游標(biāo)    cur = db.cursor()    try:        cur.execute(sql_insert)        # 提交        db.commit()    except Exception as e:        print("錯(cuò)誤信息:%s" % str(e))        # 錯(cuò)誤回滾        db.rollback()    finally:        db.close() if __name__ == "__main__":    sql_insert = "insert into user(id, name, psw) values(10, 'yoyo_10', '123456')"    insert_db(sql_insert)

從上面的代碼可以看出,除了查詢的代碼不一樣,新增、刪除、更新數(shù)據(jù)庫(kù)操作代碼都一樣,只是執(zhí)行的sql不一樣

2019年《python全棧自動(dòng)化測(cè)試課程》2月16號(hào)開(kāi)學(xué)!

主講老師:上海-悠悠

上課方式:QQ群視頻在線教學(xué)

上課時(shí)間:每周六、周日晚上20:30-22:30

2019年《python全棧自動(dòng)化測(cè)試課程》2月16號(hào)開(kāi)學(xué)!

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    伊人久久五月天综合网| 国产精品一区二区高潮| 久久天堂夜夜一本婷婷| 亚洲超碰成人天堂涩涩| 国产日韩精品欧美综合区| 欧洲一区二区三区自拍天堂| 国产农村妇女成人精品| 欧美特色特黄一级大黄片| 欧美av人人妻av人人爽蜜桃| 91超精品碰国产在线观看| 免费亚洲黄色在线观看| 99视频精品免费视频播放| 欧美特色特黄一级大黄片| 偷拍偷窥女厕一区二区视频| 女人精品内射国产99| 91人妻人澡人人爽人人精品| 欧美多人疯狂性战派对| 亚洲一区二区三区在线免费| 亚洲高清中文字幕一区二三区| 亚洲一区二区三区四区性色av| 东北老熟妇全程露脸被内射| 日本欧美一区二区三区就| 视频一区二区三区自拍偷| 69精品一区二区蜜桃视频| 亚洲中文字幕高清视频在线观看| 日韩成人高清免费在线| 欧美成人免费视频午夜色| 91麻豆精品欧美一区| 精品人妻一区二区三区免费| 国产成人一区二区三区久久| 免费在线成人午夜视频 | 国产麻豆视频一二三区| 色播五月激情五月婷婷| 丁香六月啪啪激情综合区| 欧美成人国产精品高清| 日本不卡一本二本三区| 亚洲男人的天堂就去爱| 亚洲av日韩av高潮无打码 | 亚洲淫片一区二区三区| 欧美日韩三区在线观看| a久久天堂国产毛片精品|