A easy、simple thread safe sql executor for Python with connection pool. Support MySQL, PostgreSQL, SQLite etc.
Project description
Usage Sample ''''''''''''
.. code::
import sqlexecutorx as db
if __name__ == '__main__':
db.init('test.db', driver='sqlite3', debug=True)
# or
db.init("postgres://user:password@127.0.0.1:5432/testdb", driver='psycopg2', pool_size=5, debug=True)
# or
db.init(host='127.0.0.1', port='5432', user='xxx', password='xxx', database='testdb', driver='psycopg2')
# if driver is 'pymysql' or 'mysql.connector' of MySQL, the select_key is 'SELECT LAST_INSERT_ID()'
select_key = "SELECT currval('person_id_seq')"
id = db.save(select_key, 'INSERT INTO person(name, age) VALUES(%s,%s)', 'wangwu', 38)
persons = db.select('select id, name, age from person')
# result:
# (3, 'zhangsan', 15)
# (4, 'lisi', 26)
# (5, 'wangwu', 38)
# (6, 'zhaoliu', 45)
persons = db.select_one('select id, name, age from person where name = %s', 'zhangsan')
# result:
# (3, 'zhangsan', 15)
args = [
('李四', 55),
('王五', 35),
]
db.batch_execute('INSERT INTO person(name,age) VALUES(%s,%s)', *args)
db.close()
Transaction ''''''''''''
.. code::
from sqlexecutorx import trans
@trans
def test_transaction():
insert_func(....)
update_func(....)
def test_transaction2():
with trans():
insert_func(....)
update_func(....)
If you want to use ORM, may be you need SQLORMX: https://pypi.org/project/sqlormx
If you want to operate MySQL database, may be you need MySQLX: https://pypi.org/project/mysqlx
If you want to operate PostgreSQL database, may be you need PgSQLX: https://pypi.org/project/pgsqlx
If you just wanted a simple sql executor, may be you need SQLExecX: https://pypi.org/project/sqlexecx
If you wanted simultaneously support MySQL and PostgreSQL, may be you need BatisX: https://pypi.org/project/batisx
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file SQLExecutorX-1.8.3.tar.gz.
File metadata
- Download URL: SQLExecutorX-1.8.3.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eee8a88c72cdce503e90ecc3ee4c52119480b08c8941fb23be9f97e466467bc
|
|
| MD5 |
ab80150dbfc8e91a1b8b4f844c095289
|
|
| BLAKE2b-256 |
6a28e64c261488b9f21ac7d93390505feceade03d6527252b1ac19e6476a6f3c
|