python pymysql 查询出的数据如何和类映射
时间: 2024-03-19 19:45:42 浏览: 84
可以使用Python的ORM框架来将查询出的数据和类进行映射。ORM框架可以将数据库中的表映射为Python中的类,使得对表的操作可以转化为对类的操作。其中比较流行的ORM框架有SQLAlchemy和Django ORM等。
以SQLAlchemy为例,可以先定义一个映射类,如下所示:
```python
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
```
这里定义了一个名为User的映射类,它对应着数据库中的users表。该类有三个属性,分别对应着表中的id、name和age字段。
接下来可以使用SQLAlchemy的查询接口来获取数据库中的数据,并将其转化为User类的实例:
```python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('mysql+pymysql://user:password@host:port/dbname')
Session = sessionmaker(bind=engine)
session = Session()
users = session.query(User).all()
for user in users:
print(user.id, user.name, user.age)
```
这里首先使用create_engine函数创建了一个数据库连接引擎,然后使用sessionmaker函数创建了一个会话类。接着使用session.query(User)查询所有的User实例,并使用all()方法将其转化为列表。最后对列表进行遍历,可以得到每个User实例的属性值。
阅读全文