十二. 数据库和python

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



原文地址:https://www.cnblogs.com/Sup-to/p/11275744.html