封装操作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. 【PowerOJ1752&网络流24题】运输问题(费用流)

    题意: 思路: [问题分析] 费用流问题. [建模方法] 把所有仓库看做二分图中顶点Xi,所有零售商店看做二分图中顶点Yi,建立附加源S汇T. 1.从S向每个Xi连一条容量为仓库中货物数量ai,费用为 ...

  2. 安装JDK ,提示 错误1316 指定的账户已存在

    基于情况: 安装了一个JDK 后,在文件目录中删除了相关文件,之后再次安装,提示  错误1316 指定的账户已存在 造成原因:安装JDK,相当于安装了一个软件,要使用系统的软件卸载功能卸载,不能只删除 ...

  3. RabbitMQ幂等性概念(七)

    幂等性是什么? 我们可以借鉴数据库的乐观锁机制 比如我们执行一条更新库存的sql语句update user set count=count-1,version=version+1 where vers ...

  4. [ethereum源码分析](4) ethereum运行开启console

    前言 在上一章我们介绍了  ethereum初始化指令 ,包括了系统是如何调用指令和指令的执行.在本章节我们将会介绍 geth --datadir dev/data/ --networkid cons ...

  5. 170830-关于JdbcTemplate的练习题以及其中的问题

    实验1:测试数据源 在spring文件中配置: 测试数据源: 结果: 实验2:将emp_id=5的记录的salary字段更新为1300.00[更新操作] update函数中,第一个是sql语句,后面的 ...

  6. [CSP-S模拟测试]:集合论(模拟)

    题目传送门(内部题73) 输入格式 输入文件$jihe.in$ 第一行一个整数$m$,表示操作的次数. 接下来$m$行,每行描述一个操作. 每行的开始都是一个数字,$1,2,3,4$依次代表$unio ...

  7. p2619 [国家集训队2]Tree I [wqs二分学习]

    分析 https://www.cnblogs.com/CreeperLKF/p/9045491.html 反正这个博客看起来很nb就对了 但是不知道他在说啥 实际上wqs二分就是原来的值dp[x]表示 ...

  8. Tarjan算法整理

    众所周知,tarjan是个非常nb的人,他发明了很多nb的算法,tarjan算法就是其中一个,它常用于求解强连通分量,割点和桥等.虽然具体实现的细节不太一样,但是大体思路是差不多的.先来说一下大体思路 ...

  9. 测开之路九十七:js的引用方式

    第一种:引用外部js文件 准备一个js文件 <!-- 引用外部的js --><script src="../js/js01.js"></script& ...

  10. 类TreeSet

    /* * TreeSet能够对元素按照某种规则进行排序 * * 排序有2种方式 * A自然排序 * B比较器排序 * */ import java.util.TreeSet; /* * TreeSet ...