#代码封装 **查看从第51行看,函数未被调用不会执行**
import pymysql#引包 pymysql的库
def get_con(host,user="root",pwd="123456",dbname=''):#命令由10行传入 此处(host被赋值为localhost、dbname为websur数据库)
con = pymysql.connect(host, user, pwd, dbname, charset='utf8')#此处进行数据连接赋值为con (值为以上内容)
cur = con.cursor() #获得数据库游标,游标赋值为cur
return con,cur #将得到的命令返回调用者 第10行 ↓
def execute_sql(sql,ip,db):#命令由16行传入执行 (传入3个字,sql命令、此处ip被赋值为localhost、db为websur的数据库)
#此处接收到第27行传入 ip、db、查询条数为one 默认一条
con,cur=get_con(host=ip,dbname=db)#此处将命令传入4行执行 ↑
n = cur.execute(sql)#将9行sql语句 用7行的返回cur游标执行 并把执行的结果复制给n
con.commit() #进行提交
return con,cur,n #将结果返回调用者第16行 ↓
#查询的调用者是第27行 ↓ 数据库的连接已完成 返回给查询者3个值
def do_sql_insert_delete_update(sql,ip='localhost',db='websur'):#命令由增删改查传入 51行传入
con,cur,n=execute_sql(sql,ip,db)#此处将命令传出到第9行 ↑ #接受到上面的n的值,和游标cur、连接数据con
if n!=0: #增删改成功的返回值不会是0
print("操作成功!") #输出
else:
print("操作失败!")
cur.close()#关闭cur的游标
con.close()#关闭con的数据库连接
return n #将n的值返回给调用者第51行
def do_select(sql,ip='localhost',db='websur',method="one"): #命令由第48行传入 接收到sql语句和数据库IP地址,此次IP被赋值为10.0.7.244
con,cur,n=execute_sql(sql,ip,db)#此处命令传入到第9行 ↑
result='' #此处是用于接受第334行的赋值
if n!=0: #查询默认为one,可以更改
if method=="one": #
result=cur.fetchone() #fetchone是查询一条
elif type(method)==int:#如果method被赋值查询的是数字
result=cur.fetchmany(method)#输出的查询为fetchmany 查询三条
elif method=="all":
result=cur.fetchall()
else: #上面if条件都会执行 则直接执行这句
print('操作失败!') #输出 操作失败用于提示
cur.close() #关闭游标的cur
con.close() #关闭数据库连接的con
return result #将返回值返回给调用者
# print(__name__)
if __name__ == '__main__':
#sql="select * from stu where sid='s001';"
#print(do_select(sql,"10.0.7.244")) #此处的ip是数据库的IP地址 #查询用第48行进行 将命令传入到第25行 ↑
sql1="insert into stu values(\"s002\",\"王五\",'男',19)"
print(do_sql_insert_delete_update(sql1))#增删改用这条51行 输入后执行 执行传输到16行 ↑
python连接mysql封装代码进行增删查改
最新推荐文章于 2022-07-07 21:33:39 发布
本文介绍了如何使用Python连接MySQL数据库,并封装基本的增、删、查、改操作。通过实例代码,详细阐述了连接配置、执行SQL语句以及异常处理的过程,为Python数据库操作提供便利。
摘要由CSDN通过智能技术生成