• 使用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即可 
  • 相关阅读:
    Restful风格
    SpringMVC概念、原理及搭建
    Mybatis搭建
    HttpServletRequest、HttpServletResponse、Cookie、Session
    Servlet基础
    Spring整合Mybatis
    PHP代码标识
    IOC及Bean容器
    框架
    Spring概况
  • 原文地址:https://www.cnblogs.com/yanguhung/p/10145770.html
Copyright © 2020-2023  润新知