pymysql模块的操作实例
pymysql模块!
pymysql模块时一个第三方模块!需要下载:
pymysql的基本使用:
importpymysql conn=pymysql.connect( user='root', password='123', host='127.0.0.1',#ip地址 port=3306,#端口 charset='utf8', database='day36_1' ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)#产生游标对象 #cursor=pymysql.cursors.DictCursor将查询出来的结果制成字典的形式返回 sql="select*fromuserinto" res=cursor.execute(sql)#执行sql语句 res=cursor.fetchone()#打印一条数据 res=cursor.fetchall()#可以打印里面的所有数据 res=cursor.fetchmany(2)#制定获取几条数据,如果数字超了也不报错 print(res) cursor.scroll(2,'relative')#相对移动,基于指针所在位置,往后偏移 cursor.scroll(3,'absolute')#绝对移动,基于起始位置往后偏移 print(cursor.fetchall())
我们可以通过python导入模块来连接数据库,进行登陆注册功能,在使用时sql会遇到注入问题
sql注入问题利用特殊符号和注释语法巧妙的绕过真正的sql校验,是用户数据不安全
关键性的数据不要自己手动去拼接而是交由execute帮你去做拼接
importpymysql conn=pymysql.connect( user='root', password='123', host='127.0.0.1', port=3306, database='day36_1', charset='utf8' ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #获取用户名和密码,然后取数据库中校验 username=input('username>>>:').strip() password=input('password>>>:').strip() sql="select*fromuserintowherename=%sandpassword=%s" print(sql) cursor.execute(sql,(username,password))#交由execute帮你去做拼接,解决注入问题 res=cursor.fetchall() ifres: print(res) else: print('usernameorpassworderror!')
我们也可以利用pycharm来操作数据库文件的增删改查!
针对增删改操作执行重要程度偏高
你如果真想操作必须有一步确认操作(commit)
importpymysql conn=pymysql.connect( user='root', passwd='123456', db='day36', host='127.0.0.1', port=3306, charset='utf8', autocommit=True#自动提交确认 ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) ##查:获取用户输入的用户名和密码然后取数据库中校验 #username=input('username>>>:').strip() #password=input('password>>>:').strip() ##sql="select*fromuserinfowherename='%s'andpassword='%s'"%(username,password) #sql="select*fromuserinfowherename=%sandpassword=%s" #print(sql) #增 sql="insertintouserinfo(name,password,dep_id)values('jason',789,1)" #改 #sql="updateuserinfosetname='egondsb'whereid=6" #删除 #sql="deletefromuserinfowhereid=1" res=cursor.execute(sql) #conn.commit()#确认当前操作真正的同步到数据库 print(res)
以上就是相关知识点内容,感谢大家的学习和对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。