介绍
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