1 Star 0 Fork 0

Memory_Leak / ugly-sql

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

ugly-sql

基础使用

数据库连接工具:

import pymysql
from ugly_sql import SessionManager
import logging
import sys
import contextlib

@contextlib.contextmanager
def db_ctx(cfg,tran=False):
    conn=pymysql.connect(**cfg)
    sm=SessionManager(conn)
    try:
        if tran:
            sm.begin()
        yield sm.__enter__()
        sm.__exit__(None,None,None)
    except Exception as e:
        logging.warning("db_ctx error %s",e)
        et,ev,tb=sys.exc_info()
        sm.__exit__(et,ev,tb)
        raise e
    finally:
        conn.close()
        

基础操作:

from ugly_sql import Table
User = Table("users",("id","name","password"),"id",True)
db_cfg={}
if __name__ == '__main__':
    with db_ctx(db_cfg,True) as db:
        user=db.query(User).filter(User.name=="root",User.password=="***").one()
        print("name= {}\n password= {}".format(user.name,user.password))

扩展工具

DBConsole[简单数据库操作工具(SQL方式)]

  • ugly_sql.ex.DBConsole(self, connect, args=(), kwargs=None, conn_retry=3)

    ​ connect: 创建数据库连接的函数

    ​ args: 创建数据库连接的参数

    ​ kwargs: 创建数据库连接的命名参数

    ​ conn_retry: 创建连接异常的重试次数

import pymysql

from ugly_sql.ex import DBConsole
cfg=dict(
    host='127.0.0.1', port=3306, user='***', passwd='***', charset='utf8',
    db='test'
)
db = DBConsole(pymysql.connect,kwargs=cfg)
  • simple_select(sql, cursor=None, params=(), rows=False, callback=None)

    sql: 执行的SQL语句

    params: SQL语句的参数

    rows: 指示是否返回多条数据

    callback: 处理数据的回调函数,callback(data,exception)

    db.simple_select("select * from application",callback=lambda d,e:d,rows=True)
  • simple_update(sql, params=(), cursor=None, commit=False, auto_id=False, catch=None)

    sql: 执行的SQL语句

    param: SQL语句的参数

    commit: 是否commit

    auto_id:自动生成的ID,auto_id为True则返回ID值

    catch: 发生异常时的回调catch(exception),未指定则抛出异常

db.simple_update("update application set enable=1 where id=%s", params=1, catch=lambda e: print(e))

空文件

简介

简单数据库操作工具(Python) 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/irealing/ugly-sql.git
git@gitee.com:irealing/ugly-sql.git
irealing
ugly-sql
ugly-sql
master

搜索帮助