封装操作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. HDU 1002 A - A + B Problem II (大数问题)

    原题代号:HDU 1002 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 原题描述: Problem Description I have a ...

  2. Oracle--创建TRIGGER实现跟踪用户登录信息

    ---创建日志表记录用户登录信息create  table user_log(  user_id         VARCHAR2(30),  session_id      NUMBER(10),  ...

  3. 移动端续讲及zepto移动端插件外加touch插件介绍

    媒体查询:针对不同设备,显示不同的样式. 设备像素比:dpr  device-piexl-ratio 在he开发中,要一个3陪高清图片: 1080>=320*3 (主要是为了解决图片的失真问题) ...

  4. javascript中for循环和标签元素赋值问题总结

    <!DOCTYPE html><html><body><p>点击下面的按钮,将代码块循环五次:</p><button onclick= ...

  5. Linux驱动开发6——DDR内存分配

    1.kmalloc和kfree #include <linux/slab.h> void *kmalloc(size_t size, int flags); flag: GFP_ATOMI ...

  6. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_1_缓冲流的原理

    一个字节一个字节的读取,先读取到a,a给到os操作系统.os再给JVM,.jVM再把a给java程序 读完a再读取b.这样一层层的返回,效率低下 一次读取,缓冲区数组返回来.

  7. MySQL 修改密码,

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin';

  8. ElasticSearch 基础 2

    ================================== 高级查询 =========================== ========== 子条件查询 =========== _sc ...

  9. 编码总结一:Java默认字符集

    (一)JVM默认字符集——Charset.defaultCharset() 获取Java虚拟机默认字符集,该字符集默认跟操作系统字符集一致,也可以通过-Dfile.encoding="GBK ...

  10. Linq查询语法(1)

    转:http://www.cnblogs.com/ahao214/archive/2013/01/22/2871044.html LINQ的基本格式如下所示:var <变量> = from ...