sqlalchemy基础使用示例
时间: 2024-06-21 07:02:16 浏览: 12
SQLAlchemy是一个强大的Python SQL工具包和ORM(对象关系映射)库,它允许开发者在Python中操作数据库,而无需关心底层的SQL语法。以下是一些基本的SQLAlchemy使用示例:
1. **安装**: 首先,你需要安装SQLAlchemy,可以使用pip命令:
```shell
pip install sqlalchemy
```
2. **配置连接**: 创建一个数据库引擎,指定数据库类型(如SQLite、MySQL、PostgreSQL等)和连接信息:
```python
from sqlalchemy import create_engine
engine = create_engine('sqlite:///my_database.db')
```
3. **定义映射**: 定义一个Python类,使用`declarative_base`创建一个基类,然后继承它并定义表结构:
```python
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
email = Column(String, unique=True)
```
4. **实例化会话**: 创建Session对象,用于执行数据库操作并管理事务:
```python
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
```
5. **CRUD操作**:
- 插入数据:`new_user = User(name='Alice', email='alice@example.com')`
- 查询数据:`all_users = session.query(User).all()`
- 更新数据:`user = session.query(User).filter_by(email='alice@example.com').first() user.name = 'Alice Doe'`
- 删除数据:`session.delete(user)`
- 提交事务:`session.commit()`
- 回滚事务:`session.rollback()`,如果遇到错误
6. **使用事务**:
```python
try:
session.begin()
# 执行多个操作
session.add(new_user)
session.commit()
except Exception as e:
session.rollback()
print(f"Error occurred: {e}")
```