Pandas.DataFrame.to_sql() Default Insert Behavior Assumes Table Creation
#### Problem description

Pandas.DataFrame.to_sql() assumes that if no table exists it should create one. In the specific case where a user wants to simply insert records, but not have to_sql() generate a table if it doesn't exist this causes problems. There is also no way to currently override the default behavior of creating a table according to the documentation.

I'm running into this problem because I have an application that has to dynamically generate database tables for storage as part of an ETL pipeline where I'm using to_sql() to insert records into the tables.  If for any number of reasons table creation fails during this process and no table is created, then when to_sql() is called the default behavior of Pandas.DataFrame.to_sql() is to create a new table with whatever types the fields of the dataframe are currently in. This table created by Pandas is missing all the indexes, primary/foreign keys, etc that the dynamic table generation process creates.

A fix might be to add a new parameter, if_not_exists, that allows a user to set the behavior of to_sql() if a table is not detected.