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)
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)
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__()
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__()
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) + ';'
def add(name, op, value): q = web.SQLQuery([name, op, web.sqlparam(value)]) self.wheres.append(q)