Confusing INSERT query syntax and bind param support

query = "INSERT INTO notes(text, completed) VALUES (:foo, :bar)"
values = {"foo": "example1", "bar": True}
await database.execute(query=query, values=values)

The above execution raises an exception: Unconsumed column names: foo, bar
But at the same time, the below code works fine for me.

query = "INSERT INTO notes(text, completed) VALUES (:foo, :bar)"
values = {"text": "example1", "completed": True}
await database.execute(query=query, values=values)

Parameters in the VALUES do not affect the query. Please let me know why this behaviour.
Do the INSERT query support bind params like sqlalchemy engine (for SELECT and INSERT query)?