'Produce a new :class:`.TableClause`.
The object returned is an instance of :class:`.TableClause`, which
represents the "syntactical" portion of the schema-level
:class:`~.schema.Table` object.
It may be used to construct lightweight table constructs.
Note that the :func:`.expression.table` function is not part of
the ``sqlalchemy`` namespace.  It must be imported from the
``sql`` package::
from sqlalchemy.sql import table, column
:param name: Name of the table.
:param columns: A collection of :func:`.expression.column` constructs.'

def __init__(self, name, *columns):

    super(TableClause, self).__init__()
    self.name = self.fullname = name
    self._columns = ColumnCollection()
    self.primary_key = ColumnSet()
    self.foreign_keys = set()
    for c in columns:
        self.append_column(c)
