4、python-连接mysql

微信公众号:[技术清点]
关注可了解更多信息。问题或建议,请公众号留言;

说明

使用python请求连接 mysql ,需要先安装 pymysql

创建连接

连接代码__connMysql是全局连接名,

# 业务连接(因为每次是单独执行,不进行连接池处理)
def conn_mysql(self):
   if self.__connMysql is None:
      self.__connMysql = pymysql.connect(host="192.168.xx.xx", user="用户名", password="密码", db="数据库名", charset="utf8")
      self._cur = self.__connMysql.cursor(cursor=pymysql.cursors.DictCursor)

执行增删改查

同理也是简单调用

    # 执行查询
    def select(self, sql, param=None):
        self.conn_mysql() # 可以直接初始化时初始全局变量
        if param is None:
            count = self._cur.execute(sql)
        else:
            count = self._cur.execute(sql, param)
        if count > 0:
            result = self._cur.fetchall()
        else:
            result = False
        return result

    # 执行增删改
    def execute_sql(self, sql, param=None):
        self.conn_mysql() 
        if param is None:
            count = self._cur.execute(sql)
        else:
            count = self._cur.execute(sql, param)
        return count

    # 关闭连接
    def close(self, isEnd=1):
        if self.__connMysql:
            if isEnd == 1:
                self.__connMysql.commit()
            else:
                self.__connMysql.rollback()

            self._cur.close()
            self.__connMysql.close()

使用类封装

把上面相关函数代码放入下面即可使用,这是简单分解

# coding: utf-8
# author: mofr
# date : 2019-11-11 17:36:45
import pymysql

class NsyMyConn:

    __connMysql = None

    # 业务连接(因为每次是单独执行,不进行连接池处理)
    
    # 执行查询
    
    # 执行增删改
    
    # 调用方法
    def test_mysql(self):
        print("测试查询..........")
        sql = "SELECT * FROM nt_dept limit 1"
        result = self.select(sql)
        if result:
            print("结果:", result)
            for row in result:
                print(row["name"])
        # 保存
        sql1 = "insert into nt_dept(name) value('部门1')"
        ret1 = self.execute_sql(sql1)
        if ret1:
            print("保存结果:"+str(ret1))

        # 更新
        sql2 = "update nt_dept set name='部门2' where id=2 "
        ret2 = self.execute_sql(sql2)
        if ret2:
            print("更新结果:"+str(ret2))

        # 删除
        sql3 = "delete from nt_dept where id=5 " # 不存在的
        ret3 = self.execute_sql(sql3)
        print("删除结果:"+str(ret3))

        # 释放资源
        self.close(1)

if __name__ == '__main__':
    mysql = NsyMyConn()
    mysql.test_mysql()

Tips

以后主要做一些Java相关的总结,python只是一个简单使用.
下面的是我的公众号二维码图片,欢迎关注。
图注:我的公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值