awswrangler.oracle.to_sql¶
- awswrangler.oracle.to_sql(df: DataFrame, con: oracledb.Connection, table: str, schema: str, mode: Literal['append', 'overwrite', 'upsert'] = 'append', index: bool = False, dtype: dict[str, str] | None = None, varchar_lengths: dict[str, int] | None = None, use_column_names: bool = False, primary_keys: list[str] | None = None, chunksize: int = 200) None ¶
Write records stored in a DataFrame into Oracle Database.
Note
This function has arguments which can be configured globally through wr.config or environment variables:
chunksize
Check out the Global Configurations Tutorial for details.
- Parameters:
df (
DataFrame
) – Pandas DataFrame https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.htmlcon (
Connection
) – Use oracledb.connect() to use credentials directly or wr.oracle.connect() to fetch it from the Glue Catalog.table (
str
) – Table nameschema (
str
) – Schema namemode (
Literal
['append'
,'overwrite'
,'upsert'
]) – Append, overwrite or upsert.index (
bool
) – True to store the DataFrame index as a column in the table, otherwise False to ignore it.dtype (
dict
[str
,str
] |None
) – Dictionary of columns names and Oracle types to be casted. Useful when you have columns with undetermined or mixed data types. (e.g. {‘col name’: ‘TEXT’, ‘col2 name’: ‘FLOAT’})varchar_lengths (
dict
[str
,int
] |None
) – Dict of VARCHAR length by columns. (e.g. {“col1”: 10, “col5”: 200}).use_column_names (
bool
) – If set to True, will use the column names of the DataFrame for generating the INSERT SQL Query. E.g. If the DataFrame has two columns col1 and col3 and use_column_names is True, data will only be inserted into the database columns col1 and col3.primary_keys (
list
[str
] |None
) – Primary keys.chunksize (
int
) – Number of rows which are inserted with each SQL query. Defaults to inserting 200 rows per query.
- Return type:
None
Examples
Writing to Oracle Database using a Glue Catalog Connections
>>> import awswrangler as wr >>> with wr.oracle.connect(connection="MY_GLUE_CONNECTION") as con: ... wr.oracle.to_sql( ... df=df, ... table="table", ... schema="ORCL", ... con=con, ... )