mysql(四)_数据库MySQL

mysql(四)_数据库MySQL1.用python连接mysql实现登陆(存在sql注入危险) 2用python连接mysql实现登陆方式二(不存在sql注入危险) 3 利用python 在mysql插入数据(插) 4 利用pyth

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('登陆失败')

代码100分

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

代码100分代码块
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查询数据(查)

代码100分代码块

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('删除失败')

别跑,点个赞再走

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10334.html

(0)
上一篇 2022-12-29 14:00
下一篇 2022-12-29 15:00

相关推荐

  • 如何退出vi编辑模式

    如何退出vi编辑模式Vi是一种广泛使用的文本编辑器,在编写代码、修改配置文件和处理文本时非常有用。它的强大之处在于可以大大加快编辑速度,但是对于初学者来说,可能会发现退出Vi模式比较困难。

    2024-06-09
    57
  • Python字符串转Byte

    Python字符串转Byte在Python中,字符串和Byte是不同的数据类型。字符串是一组字符序列,而Byte是一组二进制数据。Python中的字符串不支持直接转换为Byte,因此我们需要使用一些方法来完成这个操作。

    2024-07-17
    43
  • 使用Notepad++编写Python程序

    使用Notepad++编写Python程序Python是一种易于学习的编程语言,目前在各个领域都得到了广泛的应用。与其他语言相比,Python语言更加简洁、可读性更好,因此越来越受欢迎。而Notepad++是一款流行的文本编辑器,它不仅支持Python语法高亮显示,还提供了很多编程辅助工具,可用于编写Python程序。本文将介绍如何使用Notepad++编写Python程序。

    2024-07-26
    38
  • SQL练习——2020滴滴面试题 – Lu[亲测有效]

    SQL练习——2020滴滴面试题 – Lu[亲测有效]一、题目 题目信息:“订单信息表”记录了巴西乘客使用打车软件的信息,包括订单呼叫、应答、取消、完单时间。(滴滴2020数据分析面试题) 字段信息: order_id:订单ID,呼叫订单识别号 pass

    2023-04-14
    151
  • mysql试题库_数据库试题

    mysql试题库_数据库试题1.取得每个部门最高薪水的人员名称: 先取出每个部门的最高薪水,再作为临时表与(对应最高薪水的人员名称表)连接……

    2023-05-01
    154
  • fill方法_rolling animator参数

    fill方法_rolling animator参数介绍Fillfactor前先帮助大家回顾一下,Postgresql数据库的物理结构。 在没有非默认表空间的情况下,Postgresql的每个数据库均存放在一个目录中,以数据库oid命名,该目录中存放…

    2023-04-10
    164
  • 【自考】数据结构第五章图,期末不挂科指南,第9篇[通俗易懂]

    【自考】数据结构第五章图,期末不挂科指南,第9篇[通俗易懂]图的基本概念 首先,你要明确图是什么样子的,就是下面这个样子的 图的定义与术语 有向图和无向图 直接对比图就可以看出来,有向图和无向图的区别了,这个没有什么难的。 有向图和无向图的表示法有略微的区别,

    2023-01-22
    147
  • 排查Mysql突然变慢的一次过程[通俗易懂]

    排查Mysql突然变慢的一次过程[通俗易懂]排查Mysql突然变慢的一次过程 本文源地址:排查Mysql突然变慢的一次过程 上周客户说系统突然变得很慢,而且时不时的蹦出一个 404 和 500,弄得真的是很没面子,而恰巧出问题的时候正在深圳出…

    2023-04-01
    161

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注