Beispiel #1
0
def sqlands(left, lst):
    """Similar to webpy sqlors but for ands"""
    if isinstance(lst, web.utils.iters):
        lst = list(lst)
        ln = len(lst)
        if ln == 0:
            return web.SQLQuery("1!=2")
        if ln == 1:
            lst = lst[0]
    if isinstance(lst, web.utils.iters):
        return web.SQLQuery(["("] + sum([[left, web.sqlparam(x), " AND "] for x in lst], []) + ["1!=2)"])
    else:
        return left + web.sqlparam(lst)
Beispiel #2
0
def sqlands(left, lst):
    """Similar to webpy sqlors but for ands"""
    if isinstance(lst, web.utils.iters):
        lst = list(lst)
        ln = len(lst)
        if ln == 0:
            return web.SQLQuery("1!=2")
        if ln == 1:
            lst = lst[0]
    if isinstance(lst, web.utils.iters):
        return web.SQLQuery(['('] + sum([[left, web.sqlparam(x), ' AND ']
                                         for x in lst], []) + ['1!=2)'])
    else:
        return left + web.sqlparam(lst)
Beispiel #3
0
def sql_query(tablename,**values):

    def q(x):
        return "(" + x + ")"
    sql_query=''
    if values:
        sorted_values = sorted(values.items(), key=lambda t: t[0])
        _keys = web.SQLQuery.join(map(lambda t: t[0], sorted_values), ', ')
        _values = web.SQLQuery.join([web.sqlparam(v) for v in map(lambda t: t[1], sorted_values)], ', ')
        sql_query = "replace INTO %s " % tablename + q(_keys) + ' VALUES ' + q(_values)
    return sql_query.__str__()
Beispiel #4
0
def sql_query(tablename, **values):
    def q(x):
        return "(" + x + ")"

    sql_query = ''
    if values:
        sorted_values = sorted(values.items(), key=lambda t: t[0])
        _keys = web.SQLQuery.join(map(lambda t: t[0], sorted_values), ', ')
        _values = web.SQLQuery.join(
            [web.sqlparam(v) for v in map(lambda t: t[1], sorted_values)],
            ', ')
        sql_query = "replace INTO %s " % tablename + q(_keys) + ' VALUES ' + q(
            _values)
    return sql_query.__str__()
Beispiel #5
0
def pipe(db_new, db_old, table):
    """新表中默认数据的insert语句"""
    res = db_new.query('select * from %s' % table)
    if len(res) <= 0:
        return
    values = []
    keys = None
    for item in res:
        # TODO 导入默认数据
        _keys = web.SQLQuery.join(item.keys(), ', ')
        _values = web.SQLQuery.join([web.sqlparam(v) for v in item.values()],
                                    ', ')
        if keys is None:
            keys = (q(_keys))
        values.append(unicode(q(_values)))
    return "INSERT INTO %s " % table + keys + ' VALUES \n\t' + ', \n\t'.join(
        values) + ';'
Beispiel #6
0
 def add(name, op, value):
     q = web.SQLQuery([name, op, web.sqlparam(value)])
     self.wheres.append(q)