pymsql模块+事务+mysql 注入+数据库备份和恢复
创始人
2024-01-31 09:33:25
0
import pymysqlconn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='homework')
# cur = conn.cursor(cursor=pymysql.cursors.DictCursor)#查询返回字典
cur = conn.cursor()  # cursor游标,默认返回元组
try:cur.execute('select * from students')ret = cur.fetchone()  # 获取结果print(ret)ret1 = cur.fetchmany(10)print(ret1)ret3 = cur.fetchall()print(ret3)
except pymysql.err.ProgrammingError as e:print(e)
cur.close()
conn.close()

插入数据和更新数据

import pymysqlconn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='homework')
# cur = conn.cursor(cursor=pymysql.cursors.DictCursor)#查询返回字典
cur = conn.cursor()  # cursor游标,默认返回元组
try:cur.execute('insert into student values (18,"男",3,"大壮")')cur.execute('update student set gender ="女" where sid=17')conn.commit()
except Exception as e:print(e)conn.rollback()  # 一旦报错,语句就不执行了
cur.close()
conn.close()

删除数据

import pymysqlconn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='homework')
# cur = conn.cursor(cursor=pymysql.cursors.DictCursor)#查询返回字典
cur = conn.cursor()  # cursor游标,默认返回元组
try:cur.execute('delete from student where sid=17')conn.commit()
except Exception as e:print(e)conn.rollback()  # 一旦报错,语句就不执行了
cur.close()
conn.close()

pymsql
python操作mysql数据库
连接数据库
获取游标
执行sql(增删改查)
如果涉及到修改:提交
关闭游标
关闭库
sql注入

	传参数,注意sql注入问题,传参数通过execute方法来传# 实际操作mysql时候遇到的问题
# 结合数据库和python写一个登录
username password
import pymysqluser = input('username:')
pwd = input('password:')
conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='homework')sql = 'select *from userinfo where user="%s" and password="%s";' % (user, pwd)
# sql = 'select *from userinfo where user=%s and password=%s'
print(sql)
cur = conn.cursor()
cur.execute(sql, (user, pwd))
print(cur.fetchone())
# sql注入问题
# select *from userinfo where user="1869" or 1=1;--"and password="3714";
# --会把后面的都注释掉
# select *from userinfo where user="alex";--"and password="3714";

sql事务
begin 开启事务,然后for update 加锁
在这里插入图片描述
打开另一个窗口继续执行,会需要等上面释放掉才能查询
在这里插入图片描述
commit后如果上面的没超时,才会显示出来。
在这里插入图片描述

数据库备份和恢复
表和数据的备份
备份数据 在cmd 命令行直接执行
mysqldump **-uroot -p123 -h127.0.0.1 homework > E:\Users\sturbon\python22\mysql\tmp.sql
恢复数据 在sql里执行命令
切换到一个要备份的数据库中 执行
source E:\Users\sturbon\python22\mysql\tmp.sql
在这里插入图片描述
不要加;
在这里插入图片描述

备份库
mysqldump -uroot -p123 --databases homework >E:\Users\sturbon\python22\mysql\tmp1.sql
在这里插入图片描述
不要加;
在这里插入图片描述

相关内容

热门资讯

微视频|中国,加速向新   时间,是记录奋斗的见证者,也是锻造辉煌的雕刻师。  回望来路,中国创新的每一步都铿锵有力。  眺...
多彩活动“解锁”文化跨年新场景...   央视网消息:元旦假期,在河北廊坊、福建永春以及浙江义乌都有精彩的活动,给人们带来丰富的假期体验。...
全国各大口岸迎来出入境客流高峰...   央视网消息:元旦期间,全国各大口岸迎来出入境客流高峰,相关部门采取不同措施方便旅客通关。  北京...
新华社评论员:续写中国奇迹新篇...   新华社北京1月1日电 题:续写中国奇迹新篇章  新华社评论员  “我们要锚定目标任务,坚定信心、...
瑞士酒吧火灾约40人丧生 暂无...   新华社日内瓦1月1日电(记者王其冰)瑞士南部瓦莱州警方1日证实,该州阿尔卑斯山区滑雪胜地克朗-蒙...
全年票房超518亿!中国电影市...   国家电影局2026年1月1日公布,2025年电影票房为518.32亿元,同比增长21.95%。国...
海外人士热议习近平新年贺词:中...   中新社北京1月1日电 综合中新社驻外记者报道:新年前夕,中国国家主席习近平发表二〇二六年新年贺词...
新疆阿勒泰:“银发族”驭雪正青...   中新社新疆阿勒泰12月31日电 题:新疆阿勒泰:“银发族”驭雪正青春  中新社记者 蒋文月  正...
这份“年度答卷”,我们共同署名   岁序更替,华章日新。当我们站在时间的交汇点,回首,是携手走过的来路;向前,有无限辽阔的未来。这一...
视频丨多国人士:习主席新年贺词...   多国人士表示,习近平主席的新年贺词重申进一步全面深化改革开放和全球治理倡议,向国际社会传递了积极...