pymysql模块初见

一.pymysql的基本使用方法

import pymysql

db = pymysql.connect(
    host = '127.0.0.1',
    port = 3306,
    user = 'root',
    password = '123',
    database = 'day36',
    charset = 'utf8',
# 写成了utf-8会直接报错
    autocommit = True
# 这个参数配置完成后  增删改操作都不需要在手动加conn.commit了
)

# cursor = db.cursor()
# 产生一个游标对象  以元组的形式进行返回
cursor = db.cursor(pymysql.cursors.DictCursor)
# 产生一个游标对象  以字典的形式返回查询出来的数据 键是表的字段  值是表的字段对应的信息

sql = 'select * from emp'

res = cursor.execute(sql)
# 使用 execute() 方法执行 SQL,返回值是查询到的数据条数
print(res)
if res:
    # print(cursor.fetchone())
    # 获取一条数据,返回值字典
    # cursor.scroll(0,'absolute')
    #控制光标移动,相对于起始位置,往后移动多少
    # cursor.scroll(1,'relative')
    # 基于当前光标的位置,正数向后移动,负数向前移动
    # print(cursor.fetchall())
    #获取所有数据,返回值列表套字典
    print(cursor.fetchmany())
    # 不加参数返回一条,加了返回指定条数
else:
    print('error')
db.close()
View Code

ps:想要获取增删改的权限,需要在execute之后添加conn.commit提交

二.sql注入问题

 

import pymysql

db = pymysql.connect(
    host = '127.0.0.1',
    port = 3306,
    user = 'root',
    password = '123',
    database = 'day36',
    charset = 'utf8',
# 写成了utf-8会直接报错
    autocommit = True
# 这个参数配置完成后  增删改操作都不需要在手动加conn.commit了
)

# cursor = db.cursor()
# 产生一个游标对象  以元组的形式进行返回
cursor = db.cursor(pymysql.cursors.DictCursor)
# 产生一个游标对象  以字典的形式返回查询出来的数据 键是表的字段  值是表的字段对应的信息


name = input(">>:").strip()
sex=  input(">>:").strip()
sql = 'select * from emp where name="%s"and sex="%s"' %(name,sex)
print(sql)
res = cursor.execute(sql)
# 使用 execute() 方法执行 SQL,返回值是查询到的数据条数
print(cursor.fetchall())
# sql注入 就是利用注释等具有特殊意义的符号 来完成一些骚操作
#
# 后续写sql语句  不要手动拼接关键性的数据
# res = cursor.execute(sql,(name,sex))
# 而是让excute帮你去做拼接
View Code

 

转载于:https://www.cnblogs.com/Cpsyche/p/11397422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值