code: def execute(cls, ctx, op: "DataFrameToSQLTable"):
      in_df = op.inputs[0]
      out_df = op.outputs[0]
      in_data = ctx[in_df.key]
  
      import sqlalchemy as sa
  
      patch_sa_engine_execute()
      engine = sa.create_engine(op.con, **(op.engine_kwargs or dict()))
  
      try:
          with engine.connect() as connection:
              with connection.begin():
                  in_data.to_sql(
                      op.table_name,
                      con=connection,
                      if_exists=op.if_exists,
                      index=op.index,
                      index_label=op.index_label,
                      chunksize=op.chunksize,
                      dtype=op.dtype,
                      method=op.method,
                  )
      finally:
          engine.dispose()
  
      if in_df.ndim == 2:
          ctx[out_df.key] = pd.DataFrame()
      else:
          ctx[out_df.key] = pd.Series([], dtype=in_data.dtype)
  
imports: import pandas
  import cloudpickle
  from ...None import opcodes
  from ...core import recursive_tile
  from ...core.operand import OperatorLogicKeyGeneratorMixin
  from ...serialization.serializables import StringField, AnyField, BoolField, Int64Field, BytesField
  from ..core import DATAFRAME_TYPE
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..utils import parse_index, build_empty_df, build_empty_series, create_sa_connection, patch_sa_engine_execute
label_desc: Use image node_id 3 for calling the DataFrameToSQLTable obj's underlying member method code with example usage: obj.execute(cls, ctx, op) without return types