class_docstr: Create Table Statement constructed after parsing the input query
  
  Attributes:
      TableRef: table reference in the create table statement
      ColumnList: list of columns
class_docstr_tok: ["Create","Table","Statement","constructed","after","parsing","the","input","query","Attributes",":","TableRef",":","table","reference","in","the","create","table","statement","ColumnList",":","list","of","columns"]
code: def __str__(self) -> str:
      print_str = "CREATE TABLE {} ({}) \n".format(
          self._table_info, self._if_not_exists
      )
  
      if self._query is not None:
          print_str = "CREATE TABLE {} AS {}\n".format(
              self._table_info, self._query
          )
  
      for column in self.column_list:
          print_str += str(column) + "\n"
  
      return print_str
  
imports: from dataclasses import dataclass
  from typing import List, Optional, Tuple
  from evadb.catalog.catalog_type import ColumnType, NdArrayType
  from evadb.parser.select_statement import SelectStatement
  from evadb.parser.statement import AbstractStatement
  from evadb.parser.table_ref import TableInfo
  from evadb.parser.types import StatementType
label_desc: Use image node_id 2 for calling the CreateTableStatement obj's underlying member method code with example usage: obj.__str__() and returns: print_str