How-to Guide for Mysql using SQLExecuteQueryOperator¶
Use the SQLExecuteQueryOperator to execute
SQL commands in a MySql database.
Previously, MySqlOperator was used to perform this kind of operation. But after deprecation it was removed. Please use SQLExecuteQueryOperator instead.
Using the Operator¶
Use the conn_id argument to connect to your MySql instance where
the connection metadata is structured as follows:
Parameter |
Input |
|---|---|
Host: string |
MySql hostname |
Schema: string |
Set schema to execute Sql operations on by default |
Login: string |
MySql user |
Password: string |
MySql user password |
Port: int |
MySql port |
An example usage of the SQLExecuteQueryOperator is as follows:
drop_table_mysql_task = SQLExecuteQueryOperator(
task_id="drop_table_mysql", sql=r"""DROP TABLE table_name;""", dag=dag
)
You can also use an external file to execute the SQL commands. Script folder must be at the same level as DAG.py file.
mysql_task = SQLExecuteQueryOperator(
task_id="drop_table_mysql_external_file",
sql="/scripts/drop_table.sql",
dag=dag,
)
Note
Parameters that can be passed onto the operator will be given priority over the parameters already given
in the Airflow connection metadata (such as schema, login, password and so forth).