最新要闻
- 大牌现货:超亚N95口罩84.9元30片发车
- 全球通讯!封杀半年之后微软“开恩” 俄罗斯网友可以下载Win11了
- 2022年进口网络游戏审批结果公布:腾讯《宝可梦大集结》等游戏在列
- 天天观察:世界最大液体镜面望远镜启用 成本仅为玻璃反射镜的1%
- 环球速看:首架C919机组人员分享飞行体验:感受很好、令人信任
- 加绒不加价:361°全革运动鞋99元大促(门店259元)
- 环球即时看!GTX 1060三朝元老还能被迫营业?
- 二代骁龙8折叠旗舰!vivo X Fold 2来了:2K轻薄大屏
- 实时焦点:不下载不让看全文成为历史!工信部新规将禁止网页强制用户下载应用
- 世界播报:《阿凡达2》差的远!2022国内电影票房前10:第一超40亿
- 前沿热点:折叠旗舰卖到白菜价!moto razr 2022宣布调价至4999元
- 美国人钱包年末又迎重击!极端寒潮导致上周电价飙升超6000%
- 天天时讯:或售70万对刚比亚迪!东风猛士M-Terrain量产实车曝光:凶悍
- 只有Redmi做到了!米粉没想到2022年2500元的手机都有无线充电
- 河南郑新黄河大桥因大雾多车相撞:涉及200多辆车
- 速递!安卓手机不卡顿!一加11内存基因重组技术揭秘:数据抓取量提升16倍
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
python中的mysql操作教程及实例
一. 数据库在自动化测试中的应用
存测试数据
有的时候大批量的数据,我们需要存到数据库中,在测试的时候才能用到,测试的时候就从数据库中读取出来。这点是非常重要的!
(资料图片)
存测试结果
二. python中的数据库之必备前提条件
1. 安装:pyMysql
python2中使用mysqldb,python3中不再支持,换成pyMysql
2. 安装步骤
安装pyMysql模块:pip install PyMysql
python连接mysql数据库,需要下载驱动:https://dev.mysql.com/downloads/connector/python/mysqlmysql官方网站提供的驱动版本,目前只支持到python3.4,python版本要与驱动支持的版本匹配才能安装成功
安装mysql图形界面Navicat,连接数据库后,方便查看/编辑数据库数据
(可选)安装mysql服务端:https://dev.mysql.com/downloads/mysql/
3. 数据库的常规操作
增删改查,所以我们要学的也是利用python去数据库里面读取数据,进行增删改查操作
三. python—mysql操作
对数据库进行操作步骤:
连接数据库、创建游标
准备好增、删、改、查sql语句
执行sql语句
读取执行结果—执行影响的行
关闭游标、关闭连接(释放连接数)
数据库连接信息如下:
IP地址、端口号、数据库名字、登录用户名、密码
pymysql中的连接数据库方法:
conn = pymysql.Connect(host, port, db, user, passwd)cursorclass = pymysql.cursors.DictCursor 指定返回数据为字典形式
创建游标:
cursor = conn.cursor() 每次操作都需要获取游标,才能进行
四. python之查询数据
1. 查询数据语法
sql语句:select 字段 from 表名 where 条件语句
2. 展示数据,需要调用如下函数
fetchall():返回的数据格式是列表形式的
fetchone():返回的数据格式是元组形式的(可以用cursorclass = pymysql.cursors.DictCursor改成字典的形式)
3. 条件语句的用法
重点看代码,掌握用法
五. python之execute
execute中,sql语句的多种方式:
execute(sql语句、参数[可选]):
数据直接写在sql语句中
用格式化的方式
sql语句中:列表和元组 %s代替 字典:%(键名)s代替参数:为真正的数值
例:
insert_sql = "insert into test1(id, name) values(%s, %s)"data = [14, "xiaojian"]#字典data1 = {"id": 14, "name": "xiaojian"}insert_sql = "insert into test1(id, name) values(%(id)s, %(name)s)" cursor.execute(insert_sql, data)
六. 提交和回滚
提交操作:在对数据库进行任何修改的情况下,都使用commit函数来提交操作
修改包括增加、修改、删除数据等操作
提交修改:
conn.commit()
回滚操作:在对数据库进行修改的过程中,因任何异常而导致修改中断,我们都应该使用回滚操作使数据库恢复到修改之前的状态
回滚修改:
conn.rollback()
七. 实例
实例1:增加数据
#引入相关的库import pymysqlmysql_host = "localhost"mysql_port = 3306mysql_db = "xiaozhai"mysql_user = "root"mysql_passwd = "123456"#连接操作:编码格式的指定,默认返回数据类型的指定 conn = pymysql.Connect(host=mysql_host, user=mysql_user, password=mysql_passwd, db=mysql_db, port=mysql_port, charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor) #获取游标 cur = conn.cursor() #sql语句——增加数据 sql_insert = "insert into python6(name, sex) values("xiaohua", "female")" #执行sql语句 try: cur.execute(sql_insert) conn.commit() except: conn.rollback() #关闭连接、关闭游标 cur.close() conn.close()
运行结果:
实例2:查询数据
#引入相关的库import pymysqlmysql_host = "localhost"mysql_port = 3306mysql_db = "xiaozhai"mysql_user = "root"mysql_passwd = "123456"#连接操作:编码格式的指定,默认返回数据类型的指定conn = pymysql.Connect(host=mysql_host, user=mysql_user, password=mysql_passwd, db=mysql_db, port=mysql_port, charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor)#获取游标cur = conn.cursor()#查询语句sql_select = "select * from python6"#执行cur.execute(sql_select)#获取查询结果——会获取一条数据data_a = cur.fetchone()print(data_a)print("=============================")#获取查询结果——获取所有条数据(游标已经到了第二条,从第二条开始读)data_all = cur.fetchall()print(data_all)#关闭连接、关闭游标cur.close()conn.close()
运行结果
{"id": 1, "sex": "male", "name": "xiaozhai"}=============================[{"id": 2, "sex": "male", "name": "xiaoli"}, {"id": 3, "sex": "female", "name": "xiaohua"}]
实例3:格式化方式插入数据
列表形式
#引入相关的库import pymysqlmysql_host = "localhost"mysql_port = 3306mysql_db = "xiaozhai"mysql_user = "root"mysql_passwd = "123456"#连接操作:编码格式的指定,默认返回数据类型的指定conn = pymysql.Connect(host=mysql_host, user=mysql_user, password=mysql_passwd, db=mysql_db, port=mysql_port, charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor)#获取游标cur = conn.cursor()#格式化方式插入数据data_list = ["xiaozhao", "female"]sql_insert = "insert into python6(name, sex) values(%s, %s)"#执行sql语句try: cur.execute(sql_insert, data_list) conn.commit()except: conn.rollback()#关闭连接、关闭游标cur.close()conn.close()
运行结果字典形式
#引入相关的库import pymysqlmysql_host = "localhost"mysql_port = 3306mysql_db = "xiaozhai"mysql_user = "root"mysql_passwd = "123456"#连接操作:编码格式的指定,默认返回数据类型的指定conn = pymysql.Connect(host=mysql_host, user=mysql_user, password=mysql_passwd, db=mysql_db, port=mysql_port, charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor)#获取游标cur = conn.cursor()#格式化方式插入数据data_dict = {"name": "xiaoliu", "sex":"female"}sql_insert = "insert into python6(name, sex) values (%(name)s, %(sex)s)"#执行sql语句try: cur.execute(sql_insert, data_dict) conn.commit()except: conn.rollback()#关闭连接、关闭游标cur.close()conn.close()
运行结果
实例4:封装成类
import pymysqlclass Mysql_Operate: def __init__(self, host, db, user, passwd, port=3306):#python学习交流群:711312441 #连接数据库 try: self.conn = pymysql.Connect(host=host, user=user, password=passwd, db=db, port=port, charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor) #获取游标 self.cur = self.conn.cursor() #没有异常,connect_flag为0 self.connect_flag = 0 except Exception as e: print(e) self.connect_flag = 1 #查找 def select_all_datas(self, select_sql): #查询数据——execute函数 self.cur.execute(select_sql) #获取所有的数据并返回 data_all = self.cur.fetchall() return data_all #更新数据 def update_datas(self, update_sql ): try: self.cur.execute(update_sql) self.conn.commit() return True except: self.conn.rollback() return False #关闭数据库连接 def close_db(self): self.cur.close() self.conn.close()mysql_host = "localhost"mysql_port = 3306mysql_db = "xiaozhai"mysql_user = "root"mysql_passwd = "123456"ms = Mysql_Operate(mysql_host, mysql_user, mysql_passwd, mysql_db)if ms.connect_flag == 0: pass
python中的mysql操作教程及实例
大牌现货:超亚N95口罩84.9元30片发车
全球通讯!封杀半年之后微软“开恩” 俄罗斯网友可以下载Win11了
2022年进口网络游戏审批结果公布:腾讯《宝可梦大集结》等游戏在列
天天观察:世界最大液体镜面望远镜启用 成本仅为玻璃反射镜的1%
快播:NOIP动态规划
每日聚焦:数据结构(Data Structure)的基本思想是增删改查
环球视点!宝塔网站批量迁移
环球速看:首架C919机组人员分享飞行体验:感受很好、令人信任
加绒不加价:361°全革运动鞋99元大促(门店259元)
环球即时看!GTX 1060三朝元老还能被迫营业?
二代骁龙8折叠旗舰!vivo X Fold 2来了:2K轻薄大屏
实时焦点:不下载不让看全文成为历史!工信部新规将禁止网页强制用户下载应用
开发工具与低代码开发平台丨上海道宁联合Grapecity为您提供各类软件开发工具和服务
当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践
天天看点:LOJ 6041 「雅礼集训 2017 Day7」事情的相似度 题解 (SAM+启发式合并)
当前热讯:WinNTSetup V5.3.0 Bata5 单文件版
一分钟搞定Netty 三大组件,如果搞不定,再看3遍
世界播报:《阿凡达2》差的远!2022国内电影票房前10:第一超40亿
前沿热点:折叠旗舰卖到白菜价!moto razr 2022宣布调价至4999元
美国人钱包年末又迎重击!极端寒潮导致上周电价飙升超6000%
天天时讯:或售70万对刚比亚迪!东风猛士M-Terrain量产实车曝光:凶悍
只有Redmi做到了!米粉没想到2022年2500元的手机都有无线充电
环球热文:隐私计算之多方安全计算(MPC,Secure Multi-Party Computation)
河南郑新黄河大桥因大雾多车相撞:涉及200多辆车
速递!安卓手机不卡顿!一加11内存基因重组技术揭秘:数据抓取量提升16倍
特斯拉股价年内暴跌70% 韩国散户疯狂抄底!背后原因不简单
女生病假期上9天班反欠公司三百多:被扣10天工资
环球速看:曝特斯拉上海工厂将在1月实施减产计划 原因未知
直降120:百度网盘超级会员12个月SVIP 178元大促
今日关注:交叉编译esp8089
【环球新要闻】Python中itertools详解
playgo是什么意思?playgo是什么牌子?
十年之痒是什么意思?十年之痒的婚姻感悟小说有哪些?
【天天聚看点】女子投资100万元 本金4年仅剩1.71万元!基金经理被集体起诉
神价手慢无:OATLY噢麦力燕麦奶1L*2瓶/19.9元抄底
焦点速读:轿车加气站去加气 一开后备厢车被炸报废
诚意碾压苹果官网!京东开启年终优惠:iPhone 14直降900元
用户已破6亿!钉钉7.0版本发布:解决产业链协同问题
室内地坪是什么意思?室内地坪漆用什么颜色?
苏武留胡节不辱是什么意思?苏武的精神品质是什么?
调配奶粉是什么意思?调制奶粉的营养价值有哪些?
亚热带水果有哪些?亚热带水果的生长环境有哪些?
拜托小姐大结局是什么?拜托小姐演员表
东非大裂谷是哪两个板块张裂形成的?东非大裂谷形成的原因是什么?
龙应台的作品有哪些?龙应台最经典的句子
乌龟和老鹰的寓意是什么?乌龟和老鹰告诉我们什么道理?
【世界热闻】Python实验报告(第8章)
全球观速讯丨Java HashMap原理
天天亮点!认证管理(锐捷交换篇)
天天快看:[PHP]用socket写一个简单的WEB服务器
游戏盒子哪个好?2022年游戏盒子排行榜
无线网络受限或者是无连接是什么原因?无线网受限制或无连接怎么办?
网上订火车票如何取票?网上订火车票用什么软件最好?
小米2s和小米2的区别有哪些?小米2s开不了机怎么办?
网通玩电信游戏卡是什么原因?网通玩电信游戏卡怎么办?
849元 墨案电纸书Air发布:24级冷暖光、30天长续航
焦点简讯:亿万富翁芒格:别再抱怨了、现在的生活比过去好了5倍多
天天报道:比亚迪推出“疯狂星期三”活动:奖品够香 附答案!
落差很大 五菱“电动吉姆尼”谍照曝光:像老头乐
全球要闻:Redmi K60系列最香版本!米粉评K60:2499元无敌 把门焊死了
天天速讯:「实操」结合图数据库、图算法、机器学习、GNN 实现一个推荐系统
天天短讯!HTML 常用标签 tag
Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)
关注:面试官问:为啥不建议使用 Select *?请你大声地回答他!!
即时:DAG任务调度系统 Taier 演进之道,探究DataSourceX 模块
【天天速看料】苹果推出跨年优惠 其实一点也没便宜
时讯:株洲卡丁车比赛事故致车手死亡后续 车手俱乐部声讨场地方
全球今日讯!彻底重构安卓内存底层!一加11将全球首发“内存基因重组”技术
天天微资讯!马斯克被曝内部圈子缺乏持不同观点的人:全是马屁精
全球滚动:K60发布后 倪飞发声:努比亚Z50才是旗舰焊门员
世界观点:RTX 4090玩游戏性能过剩 外星人懂了:将推500Hz高刷显示器
苹果股价三连跌创一年多来最低:2022累计蒸发27%
性能仅比3080略强?RTX 4070 Ti售价曝光 7199元你还可能买不到
全球快资讯:6年过去了:一代神卡GTX 1060依然值得入手
天天微头条丨平价神器!新iPad mini曝光:苹果加量不加价、还在密谋折叠屏惊喜
环球快看点丨马斯克赔哭 公司股价腰斩!消息称特斯拉上海工厂又要减产 卖不动国人不敢兴趣?
速看:中国GPU欲弯道超车:国产显卡向AMD、NV发起冲击
【天天新要闻】实现小程序onShow第一次页面加载不执行
Java String类为什么用final修饰
天天通讯!Spring IOC官方文档学习笔记(五)之bean的作用域
【播资讯】华硕发布灵耀AX小魔方Pro分布式路由:双频3000M 449元
威联通发布TS-1655 NAS:可塞入16块硬盘 超级别墅
全球热文:男子嫌妻子开车水平差 醉驾被查:这下5年内别嫌弃了
一家比苹果还赚钱的日本企业:日本人自己都不知道
快讯:一文带你入门Transformer
全球观焦点:飞机票+高铁票可以一起买了:仅一笔支付 支持30个城市
今日要闻!听吐了!一对夫妻决定众筹买下《圣诞曲》版权将其下架
观点:国际空间站宇宙飞船发生泄漏 俄罗斯公布原因:外部机械性损坏
AcWing. 1165.单词环
全球热推荐:绚丽又冷静!酷冷至尊莫比乌斯风扇评测:马力全开也只有60分贝
当前资讯!剧情澎湃!张艺谋新片《满江红》定档春节 双男主沈腾+易烊千玺
【天天报资讯】字节掐准了商家命门
全球即时看![数据结构]单向链表的翻转(C语言)
【世界速看料】诺基亚、爱立信宣布退出 俄罗斯移动网路恐将倒退30年
速读:日系车笑了:国人把丰田买成了全球第一
每日速递:差价800元 Redmi K60与K60 Pro如何选?这三点不同
《王者荣耀》吕布FMVP皮肤来了:2023年第一款皮肤
观点:与微念和解 停更531天的李子柒何时复出?回应来了
全球播报:FreeSWITCH编译加载新模块