flask项目中使用pymysql ORM实现多表联查

flask项目中使用pymysql ORM实现:
1多表联查,
2.查询结果返回数组
3.查询结果返回对象

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
在 Flask 项目中使用 PyMySQL ORM 实现多表联查,可以按照以下步骤进行:

1、 安装 PyMySQL ORM

可以使用 pip 来安装 PyMySQL ORM:

pip install PyMySQL-ORM

2、 连接数据库

在 Flask 项目中,可以在 app.py 或者其他的 Python 文件中使用 PyMySQL ORM 连接数据库。示例代码如下:

from pymysql_orm import MySQLDB

# 创建 MySQLDB 对象
db = MySQLDB(host='localhost', port=3306, user='root', password='123456', database='mydb')

# 连接数据库
db.connect()

在上述代码中,我们创建了一个 MySQLDB 对象,并使用 connect() 方法来连接数据库。

3、 多表联查

在 PyMySQL ORM 中,可以使用 join() 方法来进行多表联查。示例代码如下:

from pymysql_orm import MySQLDB, Model, Field

# 创建 MySQLDB 对象
db = MySQLDB(host='localhost', port=3306, user='root', password='123456', database='mydb')

# 定义模型
class User(Model):
    __table__ = 'user'
    id = Field(primary_key=True)
    name = Field()
    age = Field()

class Order(Model):
    __table__ = 'order'
    id = Field(primary_key=True)
    user_id = Field()
    product = Field()

# 连接数据库
db.connect()

# 多表联查
result = db.session.query(User.id, User.name, Order.product).join(Order, User.id == Order.user_id).all()

# 打印结果
print(result)

在上述代码中,我们定义了两个模型 UserOrder,并使用 join() 方法进行了多表联查,查询了 user 表和 order 表中的数据。最后,我们使用 all() 方法获取查询结果,并打印结果。

4、 查询结果返回数组

在 PyMySQL ORM 中,执行查询操作后,可以使用 all() 方法获取查询结果的数组。示例代码如下:

from pymysql_orm import MySQLDB, Model, Field

# 创建 MySQLDB 对象
db = MySQLDB(host='localhost', port=3306, user='root', password='123456', database='mydb')

# 定义模型
class User(Model):
    __table__ = 'user'
    id = Field(primary_key=True)
    name = Field()
    age = Field()

# 连接数据库
db.connect()

# 查询数据
result = db.session.query(User.id, User.name, User.age).all()

# 打印结果
print(result)

在上述代码中,我们查询了 user 表中的数据,并使用 all() 方法获取查询结果的数组。

5、 查询结果返回对象

在 PyMySQL ORM 中,执行查询操作后,可以使用 first() 方法获取查询结果的第一个对象。示例代码如下:

from pymysql_orm import MySQLDB, Model, Field

# 创建 MySQLDB 对象
db = MySQLDB(host='localhost', port=3306, user='root', password='123456', database='mydb')

# 定义模型
class User(Model):
    __table__ = 'user'
    id = Field(primary_key=True)
    name = Field()
    age = Field()

# 连接数据库
db.connect()

# 查询数据
result = db.session.query(User.id, User.name, User.age).first()

# 打印结果
print(result)

在上述代码中,我们查询了 user 表中的数据,并使用 first() 方法获取查询结果的第一个对象。注意,如果查询结果为空,则 first() 方法返回 None


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

  • 这篇博客: 数据库 ORM 的概念及使用中的 类似于 pymysql中的游标 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • from sqlalchemy.orm import sessionmaker