sqlalchemy创建MySQL的多个表
时间: 2024-05-02 14:16:46 浏览: 245
使用MySQL数据库创建表
使用 SQLAlchemy 创建 MySQL 的多个表,可以按照以下步骤进行:
1. 导入 SQLAlchemy 的相关模块:
```python
from sqlalchemy import create_engine, Column, Integer, String, ForeignKey
from sqlalchemy.orm import relationship, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
```
2. 创建 MySQL 数据库连接:
```python
engine = create_engine('mysql+pymysql://username:password@host:port/database_name')
```
3. 创建一个基类 Base:
```python
Base = declarative_base()
```
4. 定义表的结构:
```python
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
name = Column(String(50))
class Post(Base):
__tablename__ = 'post'
id = Column(Integer, primary_key=True)
title = Column(String(50))
content = Column(String(500))
user_id = Column(Integer, ForeignKey('user.id'))
user = relationship('User', backref='posts')
```
5. 创建所有的表:
```python
Base.metadata.create_all(engine)
```
通过以上步骤,我们就可以创建 MySQL 的多个表了。其中,`User` 表和 `Post` 表之间存在一对多的关系,即一个用户可以发表多篇文章。在 `Post` 表中,`user_id` 列是外键,关联到 `User` 表的 `id` 列,同时还定义了一个 `user` 属性,用于访问关联的用户信息。
阅读全文