zoukankan      html  css  js  c++  java
  • python连接mysql

    1.用python连接mysql实现登陆(存在sql注入危险)

    代码块
    import pymysql #导入模块
    
    username=input('请输入用户名:')
    
    #创建连接
    
    conn=pymysql.connect(
    
        host='localhost',
    
        user='root',
    
        password='wsywsy142857',
    
        database='ec14',
    
        port=3306
    
    )
    
    #创建游标
    
    cur=conn.cursor()
    
    sql="select * from info where username='%s'"%username
    
    print(sql)
    
    res=cur.execute(sql)  #执行
    
    cur.close()    #关闭游标
    
    conn.close()   #关闭连接
    
    if res:
    
        print('查询成功')
    
    else:
    
        print('登陆失败')
    

    2用python连接mysql实现登陆方式二(不存在sql注入危险)

    代码块
    import pymysql #导入模块
    
    username=input('请输入用户名:')
    
    #创建连接
    
    conn=pymysql.connect(
    
        host='localhost',
    
        user='root',
    
        password='wsywsy142857',
    
        database='ec14',
    
        port=3306
    
    )
    
    #创建游标
    
    cur=conn.cursor()
    
    sql="select * from info where username=%s"
    
    print(sql)
    
    res=cur.execute(sql,[username]) #用这种方法执行SQL可以匹配过滤敏感字符,防止SQL注入
    
    cur.close()
    
    conn.close()
    
    if res:
    
        print('查询成功')
    
    else:
    
        print('登陆失败')
    

    3 利用python 在mysql插入数据(插)

    代码块
    
    # .利用python 在mysql插入数据
    
    import pymysql #导入模块
    
    user=input('请输入用户名:')
    
    pwd=int(input('请输入密码:'))
    
    #创建连接
    
    conn=pymysql.connect(
    
        host='localhost',
    
        user='root',
    
        password='wsywsy142857',
    
        database='ec14',
    
        port=3306
    
    )
    
    #创建游标
    
    cur=conn.cursor()
    
    sql="insert into info(username,password) values (%s,%s)"
    
    print(sql)
    
    res=cur.execute(sql,[user,pwd])
    
    conn.commit()#插入,更新,删除一定要提交,否则没用
    
    cur.close()
    
    conn.close()
    
    if res:
        print('插入成功')
    else:
        print('插入失败')
    

    4 利用python 在mysql查询数据(查)

    代码块
    
    import pymysql #导入模块
    
    #创建连接
    
    conn=pymysql.connect(
    
        host='localhost',
    
        user='root',
    
        password='wsywsy142857',
    
        database='ec14',
    
        port=3306
    
    )
    
    #创建游标
    
    cur=conn.cursor()   #根据连接来创建游标
    
    sql='select * from info '
    
    print(sql)   #select * from info
    
    res=cur.execute(sql)  #执行,返回成功的条数
    
    print(res)    #3
    
    #查询所有数据
    row_all=cur.fetchall()
    
    print(row_all)   #((1, 'wangsiyu', 123456), (2, 'alex', 654321), (3, 'mayun', 123456))
    
    # 查询1条数据
    row_one=cur.fetchone()   #(1, 'wangsiyu', 123456)    查询游标后的那条数据
    
    #查询多条数据
    row_many=cur.fetchmany(2)
    print(row_many)
    
    print(row_one)
    
    cur.close()    #关闭游标
    
    conn.close()   #关闭连接
    
    if res:
    
        print('查询成功')
    
    else:
    
        print('登陆失败')
    

    5 利用python 在mysql查询数据,再更新数据(改)

    代码块
    import pymysql #导入模块
    
    user=input('请输入用户名:')
    
    pwd=int(input('请输入原密码:'))
    
    #创建连接
    
    conn=pymysql.connect(
    
        host='localhost',
    
        user='root',
    
        password='wsywsy142857',
    
        database='ec14',
    
        port=3306
    
    )
    
    #创建游标
    
    cur=conn.cursor()
    
    sql="select * from info where username=%s and password =%s"
    
    res=cur.execute(sql,[user,pwd])
    
    if res:
        new_pwd=int(input('请输入新密码'))
    
        sql_1="update info set password=%s where username=%s"
    
        res_1=cur.execute(sql_1,[new_pwd,user])
    
        conn.commit()  # 插入,更新,删除一定要提交,否则没用,查询不需要。
    else:
        print('用户名不存在或者密码错误')
    
    if res_1:
        print('密码修改成功')
    
    else:
        print('修改密码失败')
    
    cur.close()
    
    conn.close()
    
    

    利用python在mysql中删除数据(删)

    代码块
    import pymysql #导入模块
    
    username=input('请输入要删除的用户名:')
    
    #创建连接
    
    conn=pymysql.connect(
    
        host='localhost',
    
        user='root',
    
        password='wsywsy142857',
    
        database='ec14',
    
        port=3306
    
    )
    
    #创建游标
    
    cur=conn.cursor()
    
    sql="delete  from info where username=%s"
    
    res=cur.execute(sql,[username]) #用这种方法执行SQL可以匹配过滤敏感字符,防止SQL注入
    
    conn.commit()   #增,删,改一定要有这个方法。
    
    cur.close()
    
    conn.close()
    
    if res:
    
        print('删除成功')
    
    else:
    
        print('删除失败')
    

    别跑,点个赞再走

  • 相关阅读:
    Monkey Studio IDE | The way IDEs should be
    ImportError: No module named pysqlite2 chinacloud 博客园
    EF架构——code first开发中,在修改实体时,自动影响到数据表上
    你必须要知道的架构知识~目录
    MVC中业务层是否应该有个基类?它有什么作用?
    解决COOKIES存储中文乱码的问题
    C#代码是更具艺术性的,选择她,因为喜欢她
    arm驱动程序——按键程序6_互斥1—原子操作(韦东山的视频总结及针对linux2.6.30)
    Oracle体系结构及备份(十)——sgaothers_pool
    Linux进程间通信(三)管道通信之有名管道及其基础实验
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/12489935.html
Copyright © 2011-2022 走看看