【无标题】

2023-12-13 17:16:14

python的dbpoolpy库连接多个数据库

介绍

python使用此库可以方便的操作数据库数据,主要是用在关系型数据库,可以支持SQLite3, MySQL, PostgreSQL

安装教程
pip install dbpoolpy
特点
  • 和数据库交互方便,不需要写sql语句
  • 支持三种数据库类型:SQLite3, MySQL, PostgreSQL
  • 可同时连接多个数据库
使用说明

connect_db可以返回连接池的一个连接,在with语句中执行多步数据库操作,期间不会释放连接,
with语句执行完后,会自动把数据库连接放回到连接池里。

连接多个数据库

dbpoolpy可以同时多个数据库,支持SQLite3, MySQL, PostgreSQL,并自动创建和管理多个数据库连接池, 参考如下代码:

import pymysql
import sqlite3
import psycopg2

DATABASE = {
    'dbcon1':  {
        'engine': pymysql,         # 取数据库所使用的插件
        'database': 'imlf1',       # 默认连接的数据库
        'host': '127.0.0.1',       # 数据库地址
        'port': 51000,             # 数据库端口
        'user': 'atpdev',          # 数据库用户名
        'password': '',            # 数据库的密码
        'charset': 'utf8',         # 字符集类型
        'mincached': 0,            # 初始化连接数
        'maxconnections': 10       # 数据库连接池的最大连接数
    },
    'dbcon2':  {
        'engine': sqlite3,         # 取数据库所使用的插件
        'dbtype': 'sqlite3',       # 数据库类型, 默认是mysql
        'database': 'test_db.db',  # sqlite3数据库路径
        'maxconnections': 10       # 数据库连接池的最大连接数
    },
    'dbcon3':  {
        'engine': psycopg2,        # 取数据库所使用的插件
        'dbtype': 'postgresql',    # 数据库类型, 默认是mysql
        'database': 'dev1',        # 默认连接的数据库
        'host': '127.0.0.1',       # 数据库地址
        'port': 52000,             # 数据库端口
        'user': 'atpdev',          # 数据库用户名
        'password': '',            # 数据库的密码
        'mincached': 0,            # 初始化连接数
        'maxconnections': 10       # 数据库连接池的最大连接数
    },
}
init_pool(DATABASE)
from dbpoolpy import Select

# mysql
datas1 = Select("dbcon1", "table_name1").where(field1='152901').all()
# sqlite3
datas1 = Select("dbcon2", "table_name2").where(field1='152902').all()
# postgresql
datas1 = Select("dbcon3", "table_name3").where(field1='152903').all()

代码非常的简洁, 可以实现增删改查的操作。

参考地址:https://gitee.com/zsq_tee/dbpoolpy

文章来源:https://blog.csdn.net/qingshuiwater/article/details/134827429
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。