封装操作mysql、redis
封装操作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的更多相关文章
- java分享第十七天-03(封装操作mysql类)
JAVA操作mysql所需jar包:mysql-connector-java.jar代码: import java.sql.*; import java.util.ArrayList; import ...
- Python操作MySQL+Redis+MongoDB
1-1 python操作三大主流数据库导学篇 1-2 数据库简介 1-3 MySQL简介 2-1 MySQL安装及配置 2-2 MySQL图形化管理工具 2-3 SQL语法基础-创建并使用数据库 2- ...
- python操作mysql,redis
import pymysqlip ="127.0.0.1"#数据库地址user = 'username'#数据库用户名password="pwd"#数据库密码d ...
- python mysql redis mongodb selneium requests二次封装为什么大都是使用类的原因,一点见解
1.python mysql redis mongodb selneium requests举得这5个库里面的主要被用户使用的东西全都是面向对象的,包括requests.get函数是里面每次都是实例 ...
- Python学习之==>操作MySQL
一.简介: MySQL为关系型数据库,其他关系型数据库包括Oracle.DB2.Sql Server等等.Python操作MySQL需要使用到pymsyql模块,pip安装即可. 二.操作MySQL步 ...
- LightMysql:为方便操作MySQL而封装的Python类
原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- 06 python操作MySQL和redis(进阶)
python操作mysql.redis 阶段一.mysql事务 主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息, ...
随机推荐
- 【CF1249D】Too Many Segments(贪心,set,vector)
题意:给定n条线段和覆盖上限k,每条线段都覆盖了区间内的整点 问最少删掉几条线段能使所有的整点都被覆盖不超过k次 k<=n<=2e5,l[i],r[i]<=2e5 思路:比赛时候不会 ...
- 3D Computer Grapihcs Using OpenGL - 09 Enable Depth Test
启用Depth Test OpenGL是个3D绘图API,也就是说不只有xy坐标轴,还有第三个坐标轴z,z轴的方向是垂直于屏幕,指向屏幕内. 靠近人眼的方向是负方向,标准化设备坐标的最小值是-1, 最 ...
- Java测试笔记(ATM)
本次Java测试主要是做一个与ATM相似的系统,用文本文件来作为用户数据库,实现存款.取款.转账.修改密码.查询余额的功能.在做这次测试之前老师并没有讲解与Java相关的知识,所以这就需要我们自学Ja ...
- mktime夏令时处理
https://www.cnblogs.com/dongzhiquan/archive/2011/11/05/2237075.html 我们的最终目的是把字符串格式的时间转换为内部使用的“日历时间”, ...
- xargs -i参数详解
学习所需,文章转载过来! xargs与find经常结合来进行文件操作,平时删日志的时候只是习惯的去删除,比如 # find . -type f -name "*.log" | xa ...
- 多线程实现socket编程
服务端: server.py import threading import socket server=socket.socket() ip_port=("127.0.0.1", ...
- Java中StringHelp
import java.util.Collection; import java.util.Map; import java.util.UUID; public class StringHelper ...
- gradle使用方法
创建一个项目 你可以通过创建一个build.gradle的文件来开始一个项目,然后可以向文件中加入构建逻辑. $ mkdir basic-demo $ cd basic-demo $ touch bu ...
- 数据映射-LSM Tree和SSTable
Coming from http://blog.sina.com.cn/s/blog_693f08470101njc7.html 今天来聊聊lsm tree,它的全称是log structured m ...
- SpringBoot(一) -- SpringBoot入门
一.简介 Spring Boot来简化Spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用. 1.快速创建独立运行的Spring项目以及与主流框架集成; 2 ...