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

相关推荐

  • Redis-_redis 列表

    Redis-_redis 列表Redis简要知识点概括,看到就能回忆起相关内容为最妙~~

    2023-06-18
    104
  • .net core和.net_vs安装选哪些

    .net core和.net_vs安装选哪些前言 .Net目前支持构建服务器端应用程序的两种实现主要有两种,.NET Framework和.NET Core。两者共享许多相同的组件,并且您可以在两者之间共享代码。但是,两者之间存在根本差异,在我

    2023-02-04
    98
  • shiro如何实现认证和授权_shiro认证

    shiro如何实现认证和授权_shiro认证Shiro默认使用自带的IniRealm,IniRealm从ini配置文件中读取用户的信息,大部分情况下需要从系统的数据库中读取用户信息,所以需要自定义realm。 1,Realm接口 最基础的是R…

    2023-04-05
    105
  • Python字典:实现高效的键值对数据存储和操作

    Python字典:实现高效的键值对数据存储和操作Python字典是一种可变容器类型,可存储任意类型的对象。它是一个无序的键值对集合,其中键(key)必须是唯一的,而值(value)可以重复。字典是用{}括起来的,每个键值对之间用冒号(:)分隔,每个键值对之间用逗号(,)分隔。

    2023-12-24
    55
  • Python:将元组转换为列表的简单方法

    Python:将元组转换为列表的简单方法在Python编程中,元组和列表是两种常见的数据类型。与列表不同的是,元组是不可变的序列,即添加、删除或修改元素都是不可行的。如果你需要对元组进行这些操作,你可以通过将元组转换成列表,并在列表上执行操作,然后再将其转换回元组来完成。

    2023-12-04
    68
  • Python String Capitalize: 将字符串的首字母大写

    Python String Capitalize: 将字符串的首字母大写在Python中,字符串是一个不可变的序列,因此字符串的方法都返回一个新的字符串,而不是改变原有字符串。

    2024-01-18
    51
  • PHP程序员如何做好MySQL数据库优化

    PHP程序员如何做好MySQL数据库优化1.使用MyISAM而不是InnoDB MySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。 MySQL默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除…

    2023-03-15
    99
  • Python开发中常用的字体库

    Python开发中常用的字体库在Python的开发中,字体库是一个很常用的工具,能够帮助我们轻松地实现对文字的操作。在这篇文章中,我们将会探讨Python开发中常用的字体库,帮助读者更好地学习和使用Python。

    2024-04-08
    22

发表回复

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