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()


    
    
  • 相关阅读:
    javascript 笔记
    小程序组件 Vant Weapp 安装
    vue学习笔记——脚手架安装
    [二分] [计算几何] AtCoder Beginner Contest 144 D Water Bottle
    [单调队列][前缀和][滑窗][Codeforces] Round #594 (Div. 2) D1 The World Is Just a Programming Task
    [Codeforces] 592 div2 A B D E
    [Codeforces] Round #595 (Div. 3) A B1 B2 C1 C2 D1 D2 E
    [Codeforces] Global Round 5 A C1 C2 D
    [主席树单点更新区间极值动态开点][最长上升子序列] CodeForces 474 F. Pathwalks
    [思维]挖矿
  • 原文地址:https://www.cnblogs.com/Sup-to/p/11275744.html
Copyright © 2011-2022 走看看