awswrangler.athena.generate_create_query(table: str, database: Optional[str] = None, transaction_id: Optional[str] = None, query_as_of_time: Optional[str] = None, catalog_id: Optional[str] = None, boto3_session: Optional[Session] = None) Any

Generate the query that created a table(EXTERNAL_TABLE) or a view(VIRTUAL_TABLE).

Analyzes an existing table named table_name to generate the query that created it.


This function has arguments which can be configured globally through wr.config or environment variables:

  • catalog_id

  • database

Check out the Global Configurations Tutorial for details.

  • table (str) – Table name.

  • database (str) – Database name.

  • transaction_id (str, optional) – The ID of the transaction.

  • query_as_of_time (str, optional) – The time as of when to read the table contents. Must be a valid Unix epoch timestamp. Cannot be specified alongside transaction_id.

  • catalog_id (str, optional) – The ID of the Data Catalog from which to retrieve Databases. If none is provided, the AWS account ID is used by default.

  • boto3_session (boto3.Session(), optional) – Boto3 Session. The default boto3 session will be used if boto3_session receive None.


The query that created the table or view.

Return type



>>> import awswrangler as wr
>>> view_create_query: str = wr.athena.generate_create_query(table='my_view', database='default')