def METHOD_NAME(self, table, columns=None):
    """
    Fetch a table from the db. The first row will be the column names
    and the following rows will be the table rows. Returns a table like:
    .. code-block:: bash
        [
          ['symbol', 'amount'],
          ['AAPL', 12],
          ['GOOG', 21],
          ['FB', 32],
          ['AMZN', 5],
          ['MSFT', 42]
        ]
    :param table: Table name in the db.
    :type table: ``str``
    :param columns: Names of columns to be fetched.
    :type columns: ``list`` of ``str``
    :return: The table contents.
    :rtype: ``list`` of ``list`` of values.
    """
    if columns is None:
        self.execute("PRAGMA table_info({})".format(table))
        columns = [str(col[1]) for col in self.cursor.fetchall()]
    self.execute("SELECT {} FROM {}".format(", ".join(columns), table))
    table = [columns]
    for row in self.cursor.fetchall():
        table.append([item for item in row])
    return table