一、操作mysql

import pymysql
def my_db(ip,user,passwd,db,sql,port=3306,charset='utf8'):
coon = pymysql.connect(host=ip,user=user,
password=passwd,db=db,
port=port,charset=charset,autocommit=True)
cur = coon.cursor() #建立游标
sql=sql.strip()
cur.execute(sql) #执行sql语句,但不会返回执行的结果
sql_start = sql[:6].lower()#取sql的开头,转成小写
if sql_start.startswith('select') or sql_start.startswith('show'):
data = cur.fetchall() #获取到查询的所有结果
else:
data = 'ok'
cur.close() #关闭游标
coon.close() #关闭连接
return data

二、操作redis

import redis
r = redis.Redis(host='x.x.x.x',port=6379,password='xxx',db=10)
#1.操作string类型
r.set('a','age18') #增加、修改数据
res = r.get('111') #获取数据
r.delete('nhy_info') #指定一个key删除
res.decode() #编码,就变成了字符串
r.keys('*info') #获取到所有的key
r.exists('dashu_name')) #判断这个key是否存在
r.flushdb()#可以清空当前数据库里面所有的key
r.expire('session_crm',600)#指定key的失效时间,秒为单位
r.ttl('session_crm'))#用来看这个key的失效时间
def op_redis_str(k,t=None,v=None):
r = redis.Redis(**REDIS_INFO)
if v and t==None:
r.set(k,v)
elif v and t:
r.set(k,v)
r.expire(k,t)
elif v==None:
res=r.get(k)
if res==None:
return None
else:
return res.decode()
#2.操作hash类型
r.hset('session_crm','liuxinyu','sdfjksdklfjssdf') #增加、修改(大k,小k,值)
r.hdel('session_crm','liuxinyu') #删除指定的小key
r.delete('session_crm') #直接删除大key
r.hget('session_crm','zhouyifan_') #获取指定小key里面的数据
res = r.hgetall('session_crm')#获取到hash类型里面所有的数据
def op_hash(k1, k2=None, v=None):
if v and k2:
r.hset(k1,k2,v)
elif v==None and k2==None:
res2=r.hgetall(k1)
for k, v in res2.items():
res2[k.decode()]=res2.pop(k).decode()
return res2
elif v==None and k2:
res3=r.hget(k1,k2)
return res3.decode()

三、操作mongodb

import pymongo
client = pymongo.MongoClient(host='x.x.x.x',port=27017)
db = client['szp'] #选择数据库,如果这个数据库不存的话,会帮你创建
collection = db['stu_info'] #选择一个集合,就相当于mysql里面表
db['stu_info'].insert({'url':'http://www.baidu.com','title':'baidu.com','addr':'西二旗'})
for d in db['stu_info'].find({'title':'baidu.com'}):
print(d)
collection.delete_one({'title':'baidu.com'}) #如果有多条的话,只会帮你删掉1条
collection.delete_many({'title':'baidu.com'})#会删除多条
print(list(collection.find()))
collection.update({'jd':'www.jd.com'},{'jd':'www.jd.com','addr':'亦庄'})