一、操作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':'亦庄'})