python连接mysql封装代码进行增删查改

本文介绍了如何使用Python连接MySQL数据库,并封装基本的增、删、查、改操作。通过实例代码,详细阐述了连接配置、执行SQL语句以及异常处理的过程,为Python数据库操作提供便利。
摘要由CSDN通过智能技术生成
#代码封装			**查看从第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行 ↑
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值