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