• 十二. 数据库和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()


    
    
  • 相关阅读:
    CSS之APP开发比较实用的CSS属性
    关于 js 中的 call 和 apply使用理解
    灵感一:搜索型APP,帮助读书爱好者,搜索某本书的关键字
    常用排序算法:基数排序
    常用排序算法:桶排序
    常用排序算法:计数排序
    常用排序算法:希尔排序
    常用排序算法:归并排序
    常用排序算法:堆排序
    常用排序算法:快速排序
  • 原文地址:https://www.cnblogs.com/Sup-to/p/11275744.html
Copyright © 2020-2023  润新知