sql-tricks

Python用~SQL语句生成戏法~


Keywords
sqlbuilder builder sql
License
Apache-2.0
Install
pip install sql-tricks==1.0.4

Documentation

Build Status

sql-tricks

Python用~SQL语句生成戏法~ 又一个SQL构建的轮子呢~

创建语法简写

from sqltricks.create import *
from sqltricks.fields import *

CreateTable('test', drop=True, runner=db.conn.execute)(
    VARCHAR(128, name='name', primary_key=True, not_null=True),
    INT(name='age', not_null=True),
    FLOAT(name='money'),
    DATE(name='update'),
)
  • 执行日志 *
2018-06-29 13:57:22,967 DEBUG::::Drop TABLE IF EXISTS test;
2018-06-29 13:57:23,026 INFO::::Table drop successfully
2018-06-29 13:57:23,026 DEBUG::::
CREATE TABLE IF NOT EXISTS `test` (
`name` VARCHAR(128) PRIMARY KEY NOT NULL,
`age` INT NOT NULL,
`money` FLOAT,
`update` DATE
);
2018-06-29 13:57:23,167 INFO::::Table created successfully

插入

from sqltricks.insert import *
from sqltricks.fields import *
InsertTable('test', runner=db.conn.execute)(
    name='name2',
    age=32,
    money=323.2
)

db.conn.commit()
2018-06-29 16:01:01,473 DEBUG::::INSERT INTO `test` (money,age,name) values(323.2, 32, "name2");
2018-06-29 16:01:01,476 INFO::::Table insert successfully

查询

from sqltricks.query import *
from sqltricks.fields import *
import db

def query(sql):
    c = db.conn.cursor()
    cursor = c.execute(sql)
    for row in cursor:
        print(row)

SelectTable('test', '*', runner=query)(
    Where(name='namxce')
)

日志

2018-06-29 15:58:40,062 DEBUG::::SELECT * FROM `test` WHERE name="namxce";
2018-06-29 15:58:40,063 INFO::::Table jquery successfully

更新

from sqltricks.query import *
from sqltricks.update import *
from sqltricks.fields import *

UpdateTable('user', {'enable': 0}, runner=db.fast_exec)(Where(email='test@test.com'))

模块名字征集:模块名不甚满意,如有人有更好建议,邮件留言 sqxccdy@icloud.com