to.sql 的if_exists
时间: 2023-07-01 18:11:58 浏览: 109
`to_sql`方法的`if_exists`参数表示如果目标表已存在,应该如何处理。这个参数有三个可选值:
- `fail`:如果目标表已存在,则不执行操作,抛出`ValueError`异常。
- `replace`:如果目标表已存在,则先删除原表,再创建新表并插入数据。
- `append`:如果目标表已存在,则将新数据追加到原表的末尾。
示例代码如下:
```python
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:password@localhost:3306/test')
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df.to_sql(name='test_table', con=engine, if_exists='fail')
```
在这个示例中,如果`test_table`表格不存在,则会创建一个新表格并将数据插入;如果`test_table`表格已经存在,则会抛出`ValueError`异常。
如果将`if_exists`参数改为`replace`,则会先删除原表格,再创建新表格并将数据插入:
```python
df.to_sql(name='test_table', con=engine, if_exists='replace')
```
如果将`if_exists`参数改为`append`,则会将新数据追加到原表格的末尾:
```python
df.to_sql(name='test_table', con=engine, if_exists='append')
```
希望这个解答能够帮到你!
阅读全文