用简单的登陆来看这个模块的操作
import pymysql
user = input("username:")
pwd = input("password:")
conn = pymysql.connect(host="localhost",user='root',password='',database="login")
cursor = conn.cursor()
sql = "select * from users where username='%s' and password='%s'" %(user,pwd,)
# select * from userinfo where username='uu' or 1=1 -- ' and password='%s' mysql注入问题
cursor.execute(sql)
result = cursor.fetchone()
print(result)
cursor.close()
conn.close()
if result:
print('登录成功')
else:
print('登录失败')
import pymysql
user=input("user:").strip()
pwd=input("pwd:").strip()
conn= pymysql.connect(host="localhost",user="root",password="",database="login",charset="utf8")
cursor=conn.cursor()
sql = "select * from users where username=%s and password=%s"
cursor.execute(sql,[user,pwd])
# sql = "select * from users where username=%s and password=%s"
# cursor.execute(sql,user,pwd)
ret=cursor.fetchone()
print(ret)
cursor.close()
conn.close()
if ret:
print("login success")
else:
print("login failed")
import pymysql
user = input("username:")
pwd = input("password:")
conn = pymysql.connect(host="localhost",user='root',password='',database="login")
cursor = conn.cursor()
sql = "select * from userinfo where username=%s and password=%s"
cursor.execute(sql,user,pwd)
# cursor.execute(sql,[user,pwd])
# cursor.execute(sql,{'u':user,'p':pwd})
result = cursor.fetchone()
cursor.close()
conn.close()
if result:
print('登录成功')
else:
print('登录失败')
用pymysql操作增删改查
import pymysql
# 增加,删,改
# conn = pymysql.connect(host="localhost",user='root',password='',database="db666")
# cursor = conn.cursor()
# sql = "insert into userinfo(username,password) values('root','123123')"
# 受影响的行数
# r = cursor.execute(sql)
# # ******
# conn.commit()
# cursor.close()
# conn.close()
# conn = pymysql.connect(host="localhost",user='root',password='',database="db666")
# cursor = conn.cursor()
# # sql = "insert into userinfo(username,password) values(%s,%s)"
# 注意是后面有逗号
# # cursor.execute(sql,(user,pwd,))
#
# sql = "insert into userinfo(username,password) values(%s,%s)"
# # 受影响的行数
# r = cursor.executemany(sql,[('egon','sb'),('laoyao','BS')])
# # ******
# conn.commit()
# cursor.close()
# conn.close()
# 查:一行,多行,所有行,不建议所有行,同时拿到内存就崩溃了
# conn = pymysql.connect(host="localhost",user='root',password='',database="school",charset="utf8")
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# sql = "select * from student"
# cursor.execute(sql)
# cursor.scroll(1,mode='relative') # 相对当前位置移动
# cursor.scroll(2,mode='absolute') # 相对绝对位置移动
# result = cursor.fetchone()
# print(result)
# result = cursor.fetchall()
# print(result)
# result = cursor.fetchmany(4)
# print(result)
# cursor.close()
# conn.close()
# 新插入数据的自增ID: cursor.lastrowid
# import pymysql
#
# conn = pymysql.connect(host="localhost",user='root',password='',database="school",charset="utf8")
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# sql = "insert into student(sname,gender,class_id) values('alex','男',5)"
# cursor.execute(sql)
# conn.commit()
# # 返回自增id
# print(cursor.lastrowid)
# cursor.close()
# conn.close()
简单总结
pymysql模块:
作用:Python模块,对数据库进行操作(SQL语句)
安装:pip3 install pymysql -i https://pypi.douban.com/simple
1. Python实现用户登录
2. MySQL保存数据
- 连接、关闭(游标)
- execute() : -- SQL注入
- 增删改都要提交: conn.commit()
- fetchone(取一条) ,fetchall(取所有条)
- 获取插入数据自增ID:cursor.lastrowid