使用python简单连接并操作数据库

python中连接并操作数据库

  • 图示操作流程

一、使用的完整流程

# 1. 导入模块
from pymysql import connect

# 2. 创建和数据库服务器的连接,自行设置 服务器地址,端口,用户名,密码,数据库名, 通信使用字符和数据库字符集一致
conn = connect(host='', port=, user='', password='',database='', charset='')

# 3. 获取游标
cursor = conn.cursor()

# 4. 执行SQL语句 
sql = "sql语句的内容,按照标准sql语句格式"

# 5. execute执行后返回值就是SQL语句在执行过程中影响的行数,可以打印出来显示语句是否执行成功
row_count = cursor.execute(sql)
print("SQL语句执行影响的行数%d" % row_count)

# 6. 提交数据,在pymysql中时默认不提交的,必须手动提交,否则无法写入数据库
conn.commit()
# # 回滚数据到什么都不做的状态 即撤销刚刚的修改
conn.rollback()

# 7. 关闭游标
cursor.close()

# 8. 关闭连接
conn.close()

二、关于SQL注入的问题

  1. 什么是SQL注入 产生原因
  • 后台将用户提交的带有恶意的数据和SQL进行字符串方式的拼接,从而影响了SQL语句的语义,最终产生数据泄露的现象。
  1. 防止: sql语句的参数化
  • 将SQL语句的所有数据参数存在一个列表中传递给execute函数的第二个参数

    row_count = cursor(游标对象).execute(sql语句, params)
    
    # sql语句中所有参数,都通过储存在params内,然后向sql语句传参
    # 那么params=[数值1,数值2....],此时sql语句中有多个%s即可 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值