The connection raw sql query,  when select table,  show table
        to fetch records, it is compatible the dbi execute method::


    :param sql string: the sql stamtement like 'select * from %s'
    :param args  list: Wen set None, will use dbi execute(sql), else
        dbi execute(sql, args), the args keep the original rules, it shuld be tuple or list of list
    :param many  int: when set, the query method will return genarate an iterate
    :param as_dict bool: when is True, the type of row will be dict, otherwise is tuple
    :param key: a key for your dabtabase you wanna use

def query(sql, args=None, many=None, as_dict=False, key='default'):
    """The connection raw sql query,  when select table,  show table
        to fetch records, it is compatible the dbi execute method::


    :param sql string: the sql stamtement like 'select * from %s'
    :param args  list: Wen set None, will use dbi execute(sql), else
        dbi execute(sql, args), the args keep the original rules, it shuld be tuple or list of list
    :param many  int: when set, the query method will return genarate an iterate
    :param as_dict bool: when is True, the type of row will be dict, otherwise is tuple
    :param key: a key for your dabtabase you wanna use
    """
    database = choice(__db[key + '.slave'])
    return database.query(sql, args, many, as_dict)