数据库连接并创建游标对象
import pymysql#导入pymysql包
#1.创建连接
con=pymysql.Connect(
host="localhost",#主机名
port=3306,#接口(默认是3306)
db='ai_b',#数据库
user='root',#用户名称
password='root',#用户密码
charset="utf8"
)
#2.创建游标对象
cls=con.cursor()
增添一行
#3.编写sql语句
sql="insert into myuser values(%s,%s,%s)"
rows=cls.execute(sql,['1','小六子','root'])
print(f"影响的行数{rows}")
con.commit()
con.close()
删除一行
#3.编写SQL语句
sql="delete from myuser where uid=%s"
cls.execute(sql,[int("5")])
con.commit()
con.close()
修改一行
#3.编写sql语句
sql="update myuser set uname=%s, upwd=%s where uid=%s"
rows=cls.execute(sql,['小六子','root',1])
print(f"影响的行数{rows}")
con.commit()
con.close()
查找
#3.编写sql语句
sql="select * from myuser "
cls.execute(sql)
result=cls.fetchall()
print(result)
con.close()
整合
import pymysql
class DB:
def __getConnection(self):
# 1.创建连接
con = pymysql.Connect(
host="localhost", # 主机名
port=3306,
db='ai_b',
user='root',
password='root',
charset="utf8"
)
print(con)
# 2.创建游标对象
cls = con.cursor()
return con,cls
#更新
def execuateUpdate(self,sql,args=[]):
con,cls=self.__getConnection()
rows=cls.execute(sql,args)
con.commit()
con.close()
return rows
#查询
def execuateSelect(self,sql,args=[]):
con,cls=self.__getConnection()
cls.execute(sql,args)
result=cls.fetchall()
con.close()
return result
使用
import database02
db=database02.DB()
sql_add="insert into myuser values(null,%s,%s)"
# db.execuateUpdate(sql_add,["安欣","root"])
sql_del="delete from myuser where uid=%s"
# db.execuateUpdate(sql_del,["1"])
sql_select="select * from myuser where uid=%s"
reslut=db.execuateSelect(sql_select,["6"])
print(reslut)
tip
如下图,如果sql语句使用%d就会报错,但是换成%s是对的
正确: