封装操作mysql:

import pymysql

class MyDb:
def __init__(self,host,password,user,db,port=3306,charset='utf8',autocommit=True):
try:
self.coon = pymysql.connect(host=host,password=password,
user=user,db=db,port=port,
charset=charset,autocommit=autocommit)
except Exception as e:
print('数据库连接失败!错误信息是%s'%e)
raise Exception('数据库连接失败!错误信息是%s'%e)
#主动抛出一个异常
else:
self.cur = self.coon.cursor(pymysql.cursors.DictCursor) def select_all(self,sql):
try:
self.cur.execute(sql)
except Exception as e:
res = 'sql语句错误,%s\n,错误的sql是【%s】'%(e,sql)
print(res)
else:
res = self.cur.fetchall()
return res
def select_one(self,sql):
try:
self.cur.execute(sql)
except Exception as e:
res = 'sql语句错误,%s\n,错误的sql是【%s】'%(e,sql)
print(res)
else:
res = self.cur.fetchone()
return res
def other_sql(self,sql):
try:
self.cur.execute(sql)
except Exception as e:
res = 'sql语句错误,%s\n,错误的sql是【%s】'%(e,sql)
print(res)
return res
def close(self):
print('拜拜啦')
self.cur.close()
self.coon.close() my = MyDb('ip','fsdf','sdfsd','sdfsdf')
my.select_one('select * from xx;')
my.select_one('select * from xx;')
my.select_one('select * from xx;')
my.close()
#1、先测能不能执行sql
#2、数据连接异常的

封装操作redis:

import redis

class MyRedis:
def __init__(self,host,password,port=6379,db=0):
self.r = redis.Redis(host=host,password=password,port=port,db=db)
def op_str(self,k,v=None,ex=-1):
if v:
self.r.set(k,v,ex)#set
else:
res = self.r.get(k)
if res:
return res.decode()
def op_hash(self,name,k=None):
if k:#判断是取单个值
res = self.r.hget(name,k)
if res:#判断是否有返回值
return res.decode()
else:#取key里面所有的值
res = {}
for k,v in self.r.hgetall(name).items():
res[k.decode()] = v.decode()
return res
def my_type(self,k):
return self.r.type(k).decode()

封装操作mysql、redis的更多相关文章

  1. java分享第十七天-03(封装操作mysql类)

     JAVA操作mysql所需jar包:mysql-connector-java.jar代码: import java.sql.*; import java.util.ArrayList; import ...

  2. Python操作MySQL+Redis+MongoDB

    1-1 python操作三大主流数据库导学篇 1-2 数据库简介 1-3 MySQL简介 2-1 MySQL安装及配置 2-2 MySQL图形化管理工具 2-3 SQL语法基础-创建并使用数据库 2- ...

  3. python操作mysql,redis

    import pymysqlip ="127.0.0.1"#数据库地址user = 'username'#数据库用户名password="pwd"#数据库密码d ...

  4. python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解

    1.python mysql  redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...

  5. Python学习之==>操作MySQL

    一.简介: MySQL为关系型数据库,其他关系型数据库包括Oracle.DB2.Sql Server等等.Python操作MySQL需要使用到pymsyql模块,pip安装即可. 二.操作MySQL步 ...

  6. LightMysql:为方便操作MySQL而封装的Python类

    原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...

  7. Redis操作Set工具类封装,Java Redis Set命令封装

    Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...

  8. Redis操作List工具类封装,Java Redis List命令封装

    Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...

  9. 06 python操作MySQL和redis(进阶)

    python操作mysql.redis 阶段一.mysql事务 主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息, ...

随机推荐

  1. WPF Microsoft.Practices.Unity 注入大法简单示例

    最近新入职了公司,做WPF方向的项目,进来后看到这边大量运用了依赖注入来解耦,采用的是Microsoft.Practices.Unity. WPF的话,目前主要有两个技术来实现IOC,unity和ME ...

  2. linux socket 缓存: core rmem_default rmem_max

    https://blog.csdn.net/penzchan/article/details/41682411

  3. create react app的 css loader 进行局部配置

    { test: cssRegex, exclude: cssModuleRegex, use: getStyleLoaders({ importLoaders: 1, sourceMap: isEnv ...

  4. PHP图片处理

    开启GD扩展(php_gd2.dll) 创建画布 画布:一种资源型数据,可以操作的图像资源. 创建新画布(新建) ImageCreate(宽,高);创建基于调色板的画布. imageCreateTru ...

  5. tail()函数

    与head()函数类似,默认是取dataframe中的最后五行. 函数源码: def tail(self, n=): """ Returns last n rows &q ...

  6. 微信小程序 scroll-View 动态定位之scroll-into-view

  7. Altium Designer chapter8总结

    元件库操作中需要注意如下: (1)原理图库:主要分三部分来完成(绘制元件的符号轮廓.放置元件引脚.设计规则检查). (2)多子件原理图库:操作与原理图库基本相同,就是新建part. (3)PCB封装库 ...

  8. 【ABAP系列】SAP ABAP 模拟做成像windows一样的计算器

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP 模拟做成像wind ...

  9. Session设置

    from django.shortcuts import render, redirect from django import views # Create your views here. fro ...

  10. LeNet-5详解

    一.前言 LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition,是一种用于手写体字符识别的非常高效的卷积神经网络. 本文 ...