分享一个python 处理mysql的简易封装模块---directsql

本文介绍了directsql,一个使用Python操作MySQL的库,通过类似SQL的接口,避免ORM并减少手写SQL。它支持连接池、参数化查询和常用SQL方法封装,如select、insert等,适用于动态查询场景。

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

directsql​

     一个简单的使用python操作mysql的工具,提供了一些类似sql语法的方法,最终拼接成sql。可以很好地处理一些常见场景,不依赖orm 的同时避免手写大量sql,只需要数据是字典类型即可。

源码地址:https://github.com/lishukan/directsql

安装

$ pip3 install directsql

导入

directsql 目前只提供三个外部类

__all__=["SqlGenerator","MysqlConnection","MysqlPool"]

导入方式

from directsql.sqlgenerator import SqlGenerator   #该类用于生成sql语句

#下面是一个池化连接对象MysqlPool  和一个简单连接对象 MysqlConnection
from directsql.connector import MysqlConnection,MysqlPool 

使用

1 创建连接

 # 1. 传入有名参数
   
    conn = MysqlConnection(host='127.0.0.1', port=3306, password='123456', database='test_base')
    print(conn.database)
    conn=MysqlPool(host='127.0.0.1', port=3306, password='123456', database='test_base')
    
   # 也可使用 直接  参数字典
    conn_args = {
   
        'host': '127.0.0.1',
        'port': 3306,
        'password': '123456',
        'database':'test_base',
    }
    conn = MysqlConnection(**conn_args)#单个连接
    print(conn.database)
    conn = MysqlPool(**conn_args) #池化连接对象
    print(conn.database)
    
 #2 直接使用 字符串   
    #以下字符串是常用的终端 连接命令
    string_arg="mysql -uroot -h127.0.0.1 -P3306 -p123456  -Dtest_base"  
    conn = MysqlConnection(string_arg=string_arg)
    print(conn.database)
    conn = MysqlPool(string_arg=string_arg)
    print(conn.database)
   
    

2 执行sql语句

​ 事实上directsql 封装了 很多 语句。可以满足很大一部分日常使用场景。但是如果有复杂的语句,仍然需要调用原生的sql 执行。而且directsql 中很多封装好的方法是先拼接sql 再 调用该语句,所以这里还是先简单介绍下,directsql 如何执行原生sql。

​ 无论是 MysqlConnection 类 还是 MysqlPool类 都通过 execute_sql 方法 来执行sql。

例如 :

id name age
1 罗辑 28
2 庄颜 25
3 叶文洁 54
4 程心 25
5 云天明 27
conn = MysqlConnection(string_arg="mysql -uroot -h127.0.0.1 -P3306 -p123456  -Dtest")
result,count=conn.execute_sql("select * from  test_table ")
print(result)
print(count)
>>> ((1, '罗辑', '28'), (2, '庄颜', '25'), (3
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值