zoukankan      html  css  js  c++  java
  • 使用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即可 
  • 相关阅读:
    OpenStack对象存储管理手册(5) OpenStack对象存储系统管理3
    hdu1568Fibonacci
    智能手机中显示信号强度格数
    上篇日本人经营之道 一破坏对手的情绪乱其方寸
    基于Wince的计算器程序
    shell 字符串操作
    轻松记住大端小端的含义
    如何把手机变成你的救生设备
    PM是一个事实
    mysql 5.6 online ddl 测试
  • 原文地址:https://www.cnblogs.com/yanguhung/p/10145770.html
Copyright © 2011-2022 走看看