【python】数据库的连接

这篇博客详细介绍了如何使用Python进行数据库连接,包括连接MySQL、Redis以及MongoDB的步骤和方法,旨在记录和分享相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

连接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数据库的连接方式。记录一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值