zoukankan      html  css  js  c++  java
  • 十二. 数据库和python

    一 .python和数据库

    1. 防止数据注入

    注意增删改 一定要提交(commit()

    import pymysql
    us=input("请输入用户名:")
    pw=input("请输入密码:")
    db=pymysql.connect("localhost","root","root","db1")
    conn=db.cursor()
    sql="select * from  aa where username='%s' and password='%s'"%(us,pw,)
    conn.execute(sql)
    
    res=conn.fetchone()
    
    conn.close()
    db.close()
    if res:
        print("成功")
    else:
        print("失败")
    
    
    
    
    
    # 防止数据注入    三种封装方式写法
    # conn.execute(sql,us,pw)
    # # conn.execute(sql,[us,pw])
    # # conn.execute(sql,{"u":us,"p":pw})
    
    us=input("请输入用户名:")
    pw=input("请输入密码:")
    db=pymysql.connect("localhost","root","root","db1")
    conn=db.cursor()
    sql="select * from  aa where username=%(u)s and password=%(p)s"
    conn.execute(sql,us,pw)
    # conn.execute(sql,[us,pw])
    # conn.execute(sql,{"u":us,"p":pw})
    res=conn.fetchone()
    conn.close()
    db.close()
    if res:
        print("成功")
    else:
        print("失败")
    插入数据的几种方法

    # 插入数据必须提交 db.commit()
    import pymysql db=pymysql.connect("localhost","root","root","a") # 02 创建一个cursor对象 cursor=db.cursor() # 插入数据 sql='insert into bb values(5000)' cursor.execute(sql) db.commit() # 插入数据必须提交 # 06 断开 cursor.close() # 07 关闭 db.close()

    # 防止插入数据注入
    us=input("请输入用户名:")
    pw=input("请输入密码:")
    # 插入数据必须提交  db.commit()
    import pymysql
    db=pymysql.connect("localhost","root","root","a")
    # 02 创建一个cursor对象
    cursor=db.cursor()
    # 插入数据
    sql='insert into bb (username,password)values(%s,%s)'  
    cursor.execute(sql,(us,pw,))
    db.commit()      # 插入数据必须提交
    # 06 断开
    cursor.close()
    
    # 07 关闭
    db.close()
    
    
    # 防止插入数据注入
    #  能同时执行多条语句,执行同样多的语句可比execute()快很多,强烈建议执行多条语句时使用executemany
    us=input("请输入用户名:")
    pw=input("请输入密码:")
    # 插入数据必须提交  db.commit()
    import pymysql
    db=pymysql.connect("localhost","root","root","a")
    # 02 创建一个cursor对象
    cursor=db.cursor()
    # 插入数据
    sql='insert into bb (username,password)values(%s,%s)'
    cursor.executemany(sql,[("egon":"aaa"),("aaw":"eeee")])
    db.commit()      # 插入数据必须提交
    # 06 断开
    cursor.close()
    
    # 07 关闭
    db.close()
    
               

    2. 查询

    import pymysql
    
    # cursor=pymysql.cursors.DictCursor)  表示查询的结果是以字点形式返回
    db=pymysql.connect("localhost","root","root","a")
    
    # 02 创建一个cursor对象
    cursor=db.cursor(cursor=pymysql.cursors.DictCursor)   # cursor=pymysql.cursors.DictCursor)  表示查询的结果是以字点形式返回
    
    # 插入数据
    sql='select * from cc '
    
    cursor.execute(sql)
    res=cursor.fetchone()
    print(res)
    cursor.close()
    
    # 07 关闭
    db.close()


    
    
  • 相关阅读:
    CF1438C Engineer Artem
    Python小程序:向SecureCRT发送命令
    PyInstaller,可将py脚本转换为exe
    在Virtual Box上安装linux系统,启动SSH服务
    Python介绍
    Git使用入门
    字符编码介绍
    适配器模式Adapter、外观模式Facade-- 学习HeadFirst设计模式记录
    复合模式Compound -- 学习HeadFirst设计模式记录
    代理模式Proxy-- 学习HeadFirst设计模式记录
  • 原文地址:https://www.cnblogs.com/Sup-to/p/11275744.html
Copyright © 2011-2022 走看看