代码拉取完成,页面将自动刷新
数据库连接工具:
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))
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))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。