连接mysql
import pymysql
HOST = '127.0.0.1'
PORT = 3306
USERNAME = 'root'
PWD = '123456'
DATABASE = 't_d'
class SqlClient:
"""
mysql的连接和使用
"""
def __init__(self, host= HOST, port=PORT, user=USERNAME, password=PWD, db=DATABASE, charset='utf8'):
self.host = host
self.port = port
self.user = user
self.password = password
self.db = db
self.charset = charset
self.conn = pymysql.connect(host=self.host,
port=self.port,
user=self.user,
password=self.password,
db=self.db,
charset=self.charset)
self.cursor = self.conn.cursor()
def sql_pool(self):
"""
数据库连接池
:return:
"""
pass
def write_sql(self, cmd):
"""
写入sql语句,写入数据库 // 原始的sql语句执行
:param cmd: sql语句
:return:
"""
self.cursor.execute(cmd)
def close(self):
"""
关闭sql
:return:
"""
self.cursor.close()
self.conn.close()
连接redis
import redis
class RedisClient:
"""
Redis数据库连接和使用
"""
def __init__(self, host='127.0.0.1', port=6379, password=None, decode_responses=True):
# decode_responses=True 自动解码
self.host = host
self.port = port
self.password = password
self.decode_responses = decode_responses
# 使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。
self.pool = redis.ConnectionPool(host=self.host,
port=self.port,
password=self.password,
decode_responses=self.decode_responses)
self.client = redis.Redis(connection_pool=self.pool)
def set(self, key, value, ex=None, px=None, nx=False, xx=False):
"""
设置值
:param key: 键
:param value: 值
:param ex: 过期时间(秒)
:param px: 过期时间(毫秒)
:param nx: 如果设置为True,则只有name不存在时,当前set操作才执行,同setnx(name, value)
:param xx: 如果设置为True,则只有name存在时,当前set操作才执行
"""
self.client.set(key, value, ex, px, nx, xx)
def get(self, key):
"""
获取值
:param key: 键
:return:
"""
return self.client.get(key)
def mset(self, keys, values):
"""
批量设置值
keys: 键列表
values:值列表
"""
self.client.mset({keys[0]: values[0], keys[1]: values[1]})
def mget(self, keys):
"""
批量获取值
:return:
"""
self.mget([keys[0], keys[1]])
mongo数据库
import pymongo
class MGdbClient:
"""
MangoDB数据库
"""
def __init__(self):
# 连接服务器
self.conn = pymongo.MongoClient('localhost', 27017)
# 连接数据库
self.dbclient = self.conn.mydb
# 创建数据集
self.collection = self.dbclient.student
def add_document(self):
# 添加文档
self.collection.insert({'name': 'wukong', 'age': 19, 'gender': 1, 'address': 'zaozhuang'})
def serch_db(self):
dblist = self.dbclient.list_database_names()
if "runoobdb" in dblist:
print("数据库已存在!")
def close(self):
# 断开
self.conn.close()
以上是Python创建连接mysql redis mongo数据库的连接方式。记录一下。