当前位置: 首页 > news >正文

公司建网站费用做外贸的都有哪些网站

公司建网站费用,做外贸的都有哪些网站,网站开发 项目的人员分配,网页设计板式重构目录 ORM模型映射到数据库中 SQLAlchemy对数据的增删改查操作​编辑 构建session对象 添加对象 查找对象 修改对象 删除对象 ORM模型映射到数据库中 用declarative_base根据engine创建一个ORM基类 from sqlalchemy.ext.declarative import declarative_base engine cr…

目录

ORM模型映射到数据库中

 SQLAlchemy对数据的增删改查操作​编辑

构建session对象

 添加对象

查找对象 

修改对象

删除对象


ORM模型映射到数据库中

declarative_base根据engine创建一个ORM基类

from sqlalchemy.ext.declarative import declarative_base
engine = create_engine(DB_URI)
Base = declarative_base(engine)

用这个Base类作为基类来写自己的ORM类。要定义__tablename__类属性,来指定这个模型映射到数据库中的表名

class Person(Base):__tablename__ ='t_person'

创建属性来映射到表中的字段,所有需要映射到表中的属性都应该为Column类型

class Person(Base):__tablename__ ='t_person'# 在这个ORM模型中创建一些属性,来跟表中的字段进行一一映射。# 这些属性必须是sqlalchemy给我们提供好的数据类型id = Column(Integer,primary_key=True,autoincrement=True)name = Column(String(50))age = Column(Integer)country = Column(String(50))

使用Base.metadata.create_all()来将模型映射到数据库中

Base.metadata.create_all()

注意

一旦使用Base.metadata.create_all()将模型映射到数据库中后,即使改变了模型的字段,也不会重新映射了

 SQLAlchemy对数据的增删改查操作

构建session对象

所有和数据库的ORM操作都必须通过一个叫做session的会话对象来实现,通过以下代码来获取会话对象

from sqlalchemy.orm import sessionmaker
engine = create_engine(DB_URI)
Base = declarative_base(engine)
session = sessionmaker(engine)()
  1. from sqlalchemy.orm import sessionmaker: 这行代码导入了sessionmaker,它是用于创建会话(session)的工厂函数。

  2. engine = create_engine(DB_URI): 这行代码使用了之前构建的数据库连接字符串(DB_URI)来创建了一个数据库引擎(engine)。

  3. Base = declarative_base(engine): 这行代码使用了declarative_base函数来创建了一个基类(Base)。然而,请注意,在declarative_base函数中传递了一个参数engine,这将指定此基类使用的数据库引擎。

  4. session = sessionmaker(engine)(): 这行代码创建了一个会话(session)对象(session)。sessionmaker函数接受一个引擎作为参数,用于创建会话。注意后面的额外的一对括号(),它们实际上调用了sessionmaker返回的函数,以创建一个实际的会话对象。

 

 添加对象

def create_data_one():with Session() as session:p1 = Person(name = '春秋',age = 6 , country='北京')session.add(p1)session.commit()def create_data_many():with Session() as session:p2 = Person(name = '吕布',age = 19 , country='北京')p3 = Person(name = '貂蝉',age = 18 , country='北京')session.add_all([p2,p3])session.commit()

 

  1. create_data_one() 函数:

    • 这个函数使用了一个上下文管理器(with Session() as session),它创建了一个会话对象 session

    • 在这个函数中,创建了一个名为 p1Person 对象,该对象具有名字、年龄和国家信息。

    • 然后将 p1 添加到了会话中 (session.add(p1))。

    • 最后调用 session.commit() 来提交这个会话,将数据保存到数据库中。

  2. create_data_many() 函数:

    • 同样地,这个函数也使用了上下文管理器来创建一个会话对象 session

    • 在这个函数中,创建了两个名为 p2p3Person 对象,分别代表了两个不同的人员信息。

    • 使用 session.add_all([p2, p3]) 一次性将这两个对象添加到会话中。

    • 最后调用 session.commit() 来提交这个会话,将数据保存到数据库中。

查找对象 

def query_data_all():with Session() as session:all_person = session.query(Person).all()for p in all_person:print(p.name)def query_data_one():with Session() as session:p1 = session.query(Person).first()print(p1.name)
def query_data_by_params():with Session() as session:# p1 = session.query(Person).filter_by(name='吕布').first()p1 = session.query(Person).filter(Person.name == '吕布').first()print(p1.age)
  1. query_data_all() 函数:

    • 使用上下文管理器创建了一个会话对象 session

    • 使用 session.query(Person).all() 查询了所有的 Person 对象,并将它们以列表的形式返回给变量 all_person

    • 然后通过一个循环遍历了所有的人员,并打印了他们的名字。

  2. query_data_one() 函数:

    • 同样地,使用上下文管理器创建了一个会话对象 session

    • 使用 session.query(Person).first() 查询了第一个 Person 对象,并将其赋给了变量 p1

    • 最后打印了 p1 对象的名字。

  3. query_data_by_params() 函数:

    • 这个函数演示了如何通过特定的条件来查询数据。

    • 使用了上下文管理器创建了一个会话对象 session

    • 通过 session.query(Person).filter(Person.name == '吕布').first() 查询了名字为 '吕布' 的第一个 Person 对象,并将其赋给了变量 p1

    • 最后打印了 p1 对象的年龄。

 

修改对象

def update_data():with Session() as session:p1 = session.query(Person).filter(Person.name == '吕布').first()p1.age = 20# 提交事务session.commit()

 

  1. 使用上下文管理器创建了一个会话对象 session

  2. 使用 session.query(Person).filter(Person.name == '吕布').first() 查询了名字为 '吕布' 的第一个 Person 对象,并将其赋给了变量 p1

  3. p1 对象的 age 属性更新为 20p1.age = 20

  4. 最后,通过 session.commit() 提交了事务,将更新保存到数据库中

删除对象

将需要删除的数据从数据库中查找出来,然后使用session.delete方法将这条数据从session中删除,最后做commit操作就可以了

def delete_data():with Session() as session:p1 = session.query(Person).filter(Person.name == '貂蝉').first()session.delete(p1)session.commit()
  1. 使用上下文管理器创建了一个会话对象 session

  2. 使用 session.query(Person).filter(Person.name == '貂蝉').first() 查询了名字为 '貂蝉' 的第一个 Person 对象,并将其赋给了变量 p1

  3. 使用 session.delete(p1) 删除了 p1 对象,即删除了名字为 '貂蝉' 的人员信息。

  4. 最后,通过 session.commit() 提交了事务,将删除操作保存到数据库中。

http://www.yayakq.cn/news/121815/

相关文章:

  • 莘县做网站推广线下销售怎么做推广
  • 网站空间 .de网易企业邮箱怎么认证
  • 一个网站的基调哪些是个人网站
  • 如何在海外推广网站微信注册网站
  • 屯济宁做网站公司这么登入wordpress
  • 中山精品网站建设渠道怀宁县住房和建设局网站
  • 手表网站妨水iis网站asp.net部署
  • 临清网站制作网站图片优化
  • 网站制作策划建设大纲金华专业做网站公司
  • 在柬埔寨做网络销售推网站宁波比较好的外贸公司
  • 杭州网站建设专业公司网站建设包含那些 内容
  • 中国十大门户网站排行wordpress 外部视频
  • 食品建设网站前的市场分析布局网站开发
  • 定制网站建设宝安西乡汉中市建设工程项目审批管理系统
  • 企业网站建设包括哪些优跃达官网网站建设项目
  • 重庆北碚网站制作c2c电子商务网站需具备哪些业务功能
  • 聊城市网站制作秦皇岛属于河北哪个市
  • 企业类网站模板免费下载汉中北京网站建设
  • 搜题在线使用网页版wordpress优化版本
  • 网站开发工程师薪资待遇响应式网站报价
  • 查看网站名称阿里云服务器上如何做网站
  • 南充网站建设略奥网络建筑设计有哪些专业
  • 苗木网站开发需求自己怎么注册网站模板
  • 做网站老板嫌弃太丑谁的锅dede网站正在维护中应该怎样设置
  • 我的班级网站模板建设银行网站的特点
  • 天猫网站设计分析什么样算网站需要备案
  • 网络外包运营公司厦门最快seo
  • 大连企业招聘网站asp网站设为首页代码
  • 广东智慧团建网站登录申请注册网站
  • 个人做电商网站windows服务器安装wordpress