python操作MySQL、MongoDB、Redis数据库

python操作MySQL、MongoDB、Redis数据库

1. MySQL

import sys

sys.path.append('..')
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base  # 定义一个实例,所有表必须继承该实例
from sqlalchemy import distinct
from datetime import datetime
import re

class Mysql(object):
    def __init__(self):
        Base = declarative_base()
        self.engine = create_engine("mysql+pymysql://root:pwd@127.0.0.1:3306/db", encoding='utf-8')
        self._DBSession = sessionmaker(bind=self.engine)
engine = Mysql()
session = engine._DBSession()

cursor = session.execute('select * from data') # 数据库db下面的data(Table)
result = cursor.fetchall()
print(result[02])

2. MongoDB

import pymongo

class MongoDB(object):
    def __init__(self, db):
        mongo_client = self._connect('127.0.0.1', 27017, '', '', db)     #连接
        self.db = mongo_client[db]                        #数据库

    def _connect(self, host, port, user, pwd, db):
        mongo_info = self._splicing(host, port, user, pwd, db)    #mongoDB官方语法
        mongo_client = pymongo.MongoClient(mongo_info, connectTimeoutMS=12000, connect=False)  #不需要长时间连接
        return mongo_client

    @staticmethod
    def _splicing(host, port, user, pwd, db):
        client = 'mongodb://' + host + ":" + str(port) + "/"
        if user != '':
            client = 'mongodb://' + user + ':' + pwd + '@' + host + ":" + str(port) + "/"   #客户端
            if db != '':
                client += db   # 数据库
        return client
mongo = MongoDB(db = 'haha')
collection = mongo.db['test']

testCollection = dict()
testCollection['name'] = 'john'
testCollection['job'] = 'student'
testCollection['dates'] = datetime.datetime.utcnow()

collection.insert(testCollection)

3. Redis

import redis
class Redis(object):
    def __init__(self):
        self.redis = redis.StrictRedis(host='localhost',
                                       port=6379,
                                       db=1,
                                       password='',
                                       decode_responses=True)
redis = Redis()
conn = redis.redis

写入散列

token_lst = ['100sd','334ed','df345','345sd','z123c','vb267','d789g','er765','g780j','908ty']
for i in range(10):
    token = token_lst[i]
    user_id = i + 100
    conn.hset('login',token,user_id,)

在这里插入图片描述

有序集合

score_lst = ['100','111','122','133','144','155','166','177','188','199']
for i in range(10):
    score = score_lst[i]
    user = str(i)+'ass'
    print(user,score)
    conn.zadd('by_time',{user:score})

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值