阅读量:68
在Python中,可以使用多种库来连接数据库并执行批量操作。以下是一些常用的库和方法:
- SQLite3:Python内置的SQLite3库适用于小型数据库。使用
executemany()方法可以执行批量插入操作。
import sqlite3
# 连接数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# 批量插入数据
data = [
('Alice', 30),
('Bob', 25),
('Charlie', 22)
]
cursor.executemany('INSERT INTO users (name, age) VALUES (?, ?)', data)
# 提交事务
conn.commit()
# 查询数据
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())
# 关闭连接
conn.close()
- MySQL Connector/Python:这是一个流行的MySQL数据库连接器,可以使用
executemany()方法执行批量插入操作。
import mysql.connector
# 连接数据库
conn = mysql.connector.connect(
host='localhost',
user='your_username',
password='your_password',
database='example_db'
)
cursor = conn.cursor()
# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)''')
# 批量插入数据
data = [
('Alice', 30),
('Bob', 25),
('Charlie', 22)
]
cursor.executemany('INSERT INTO users (name, age) VALUES (%s, %s)', data)
# 提交事务
conn.commit()
# 查询数据
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())
# 关闭连接
cursor.close()
conn.close()
- SQLAlchemy:这是一个功能强大的ORM库,可以简化数据库操作。使用
executemany()方法执行批量插入操作。
from sqlalchemy import create_engine, Table, Column, Integer, String
from sqlalchemy.orm import sessionmaker
# 创建数据库引擎
engine = create_engine('sqlite:///example.db')
# 定义表结构
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('age', Integer)
)
# 创建表
metadata.create_all(engine)
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 批量插入数据
data = [
('Alice', 30),
('Bob', 25),
('Charlie', 22)
]
session.execute(users.insert().values(data))
# 提交事务
session.commit()
# 查询数据
result = session.query(users).all()
print(result)
# 关闭连接
session.close()
这些示例展示了如何使用不同的库在Python中执行批量数据库操作。根据你的需求和使用的数据库类型,可以选择合适的库和方法。