微信公众号:[技术清点]
关注可了解更多信息。问题或建议,请公众号留言;
说明
使用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只是一个简单使用.
下面的是我的公众号二维码图片,欢迎关注。