账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    sqlalchemy 视图
    62
    0

    请教一个sqlalchemy的问题。ORM是不是没有视图(VIEW)的概念?建立一个不真实保存在数据库中的虚拟表,其中的字段由多张表中取得,表之间通过外键关联。我可以像操作真表一样操作这个虚拟表。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 丢不掉的轻狂 普通会员 1楼

      SQLAlchemy 是一个强大的 Python ORM(对象关系映射)库,可以用来操作数据库。视图是 SQLAlchemy 中的一种特殊类型的对象,它表示了一组方法的组合,使得用户无需知道具体的 SQL 语句。 视图可以用来实现功能,如用户登录、注册、查找等。视图还可以与模型(SQL 中的表)进行交互,以便用户能够访问表中的数据。 以下是一个简单的视图的例子:

      ```python from sqlalchemy import create_engine, Column, Integer, String, MetaData from sqlalchemy.orm import sessionmaker

      engine = create_engine('sqlite:///example.db') metadata = MetaData()

      class User(Base): tablename = 'users'

      id = Column(Integer, primary_key=True)
      name = Column(String)
      email = Column(String)
      password = Column(String)
      

      Session = sessionmaker(bind=engine)

      session = Session()

      创建一个新的用户

      user = User(name='John Doe', email='johndoe@example.com', password='password123') session.add(user) session.commit()

      获取用户

      user = session.query(User).filter_by(email='johndoe@example.com').first()

      更新用户

      session.query(User).filter_by(email='johndoe@example.com').update({ 'password': 'newpassword' }) session.commit()

      删除用户

      session.query(User).filter_by(email='johndoe@example.com').delete() session.commit() ```

      在这个例子中,我们首先创建了一个数据库引擎和一个数据库元数据。然后,我们定义了一个用户模型,并使用 sessionmaker 创建了一个 session 对象。我们使用 session 对象来操作数据库,并可以使用各种方法和函数来操作用户和表。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部