Skip to main content

pymysql-extension

Author: Joker-desire

pymysql-extension是一个基于pymysql的扩展,主要是为了解决pymysql在使用过程中的一些不便之处。

注:只用到了pymysql库,所以不用担心兼容性问题。

实现的功能

  • 1.SQL阅读器
  • 2.SQL结果对象转换器

安装

pip install pymysql-extension

注意事项

1. SQL阅读器使用时SQL文件路径设置

方式一:设置SQL文件路径环境变量

export SQL_PATH=/path/to/sql

方式二:在代码中设置SQL文件路径

os.environ["SQL_PATH"] = "/path/to/sql"
方式三:不想设置环境变量,可直接在代码中设置SQL文件路径
sql = SqlReader.reader("/path/to/sql/example.sql")

2. SQL结果对象转换器使用时数据库连接配置

数据库配置(默认)

{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "root",
  "db": "",
  "charset": "utf8"
}

自定义配置

方式一:
conf = {
    "host": "localhost",
    "user": "root",
    "password": "root",
    "db": "test",
}
converter = SqlObjectConverter(**conf)
方式二:
converter = SqlObjectConverter(host="localhost", user="root", password="root", db="test")

示例

from extension._sql_reader import SqlReader
from extension._sql_object_converter import SqlObjectConverter

if __name__ == '__main__':
    sql = SqlReader.reader("example.sql", user_name="Joker-desire")
    print(sql)
    # 创建SQL对象转换器
    converter = SqlObjectConverter()
    # 执行SQL,并获取结果
    results = converter.exec(sql).fetch_all()
    print(results)
    # 执行SQL,并获取结果
    result = converter.exec(sql).fetch_one()
    # 将结果转换成字典
    print(result.to_dict())

Release files for pymysql-extension 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymysql-extension 1.0.0
File Size Uploaded
pymysql_extension-1.0.0.tar.gz 3.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymysql-extension 1.0.0
File Interpreter ABI Platform
pymysql_extension-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 kB

Release files / pymysql_extension-1.0.0.tar.gz

Download URL pymysql_extension-1.0.0.tar.gz
Size 3.4 kB
Tags Source
SHA-256 checksum
How to use checksums
936daf8b3cea61a850697ff3758df99cce9bbe78b2e50c8644e1e3627736d1f8
BLAKE2b-256 checksum
How to use checksums
69b1e6d37c0178aa4d9fd7d02a54d5174fd55bbc05997a5951d5fc13f5da7bfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

Release files / pymysql_extension-1.0.0-py3-none-any.whl

Download URL pymysql_extension-1.0.0-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d46f947237ef49ad83d248d6bf431ec61fbed9223b5a40f1709520089c53f2a5
BLAKE2b-256 checksum
How to use checksums
3af2a9c721de49a929de61da27a69dcf99209625abbd1541dbc17720f5aac20e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.5

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page