python批量插入数据库的方式
时间: 2024-10-14 22:17:36 浏览: 27
对python插入数据库和生成插入sql的示例讲解
在Python中,批量插入数据库通常涉及使用SQLAlchemy、pymysql等ORM(对象关系映射)库,或者是直接操作数据库的原生接口如sqlite3、psycopg2等。以下是通过ORM库 SQLAlchemy 的例子:
```python
from sqlalchemy import create_engine, Table, MetaData, insert
# 创建数据库引擎
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
# 获取表对象
metadata = MetaData()
table = Table('your_table', metadata, autoload_with=engine)
# 数据列表
data_list = [
{"column1": "value1", "column2": "value2"},
{"column1": "value3", "column2": "value4"},
# 更多数据...
]
# 使用 executemany() 执行批量插入
with engine.connect() as conn:
ins = insert(table)
conn.execute(ins.values(data_list))
```
如果你选择使用原生的数据库连接,可以使用`executemany()`函数,如下所示(这里以SQLite为例):
```python
import sqlite3
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
# 假设有一个表格名为items
data = [
('value1', 'value2'),
('value3', 'value4'),
# 更多数据...
]
sql = "INSERT INTO your_table (column1, column2) VALUES (?, ?)"
# 批量插入
cursor.executemany(sql, data)
conn.commit()
conn.close()
```
阅读全文