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

中国建设网站官方网站网站顶部导航

中国建设网站官方网站,网站顶部导航,郑州网络营销策划,cms是什么意思体积SQLAlchemy 是一个强大的 Python ORM#xff08;对象关系映射#xff09;工具#xff0c;它提供了多种方法来执行数据库查询操作。以下是 SQLAlchemy 中常用的查询方法的总结#xff1a; session.query()#xff1a;使用 session.query(Model) 来创建一个查询对象#xf…SQLAlchemy 是一个强大的 Python ORM对象关系映射工具它提供了多种方法来执行数据库查询操作。以下是 SQLAlchemy 中常用的查询方法的总结 session.query()使用 session.query(Model) 来创建一个查询对象其中 Model 是你要查询的数据库模型类。 filter()在查询对象上使用 filter() 方法可以添加过滤条件例如 filter(Model.column value)。 all()使用 all() 方法可以获取查询的所有结果并以列表的形式返回。 first()使用 first() 方法可以获取查询结果的第一条记录。 get()使用 get(primary_key_value) 方法可以根据主键值直接获取相应的记录。 filter_by()使用 filter_by(columnvalue) 方法可以根据指定列的数值进行过滤。 join()使用 join() 方法可以进行表的内连接查询。 outerjoin()使用 outerjoin() 方法可以进行表的外连接查询。 group_by()使用 group_by() 方法可以按指定列分组查询。 order_by()使用 order_by() 方法可以对查询结果进行排序。 count()使用 count() 方法可以统计查询结果的数量。 delete()使用 delete() 方法可以删除满足条件的记录。 update()使用 update() 方法可以更新满足条件的记录。 from sqlalchemy.orm import declarative_base,sessionmaker from sqlalchemy import create_engine, ForeignKeyfrom sqlalchemy import Column, Integer, StringBase declarative_base()class User(Base):__tablename__ usersid Column(Integer, primary_keyTrue)name Column(String)age Column(Integer)class Address(Base):__tablename__ addressesid Column(Integer, primary_keyTrue)user_id Column(Integer, ForeignKey(users.id))street Column(String)city Column(String)# 创建数据库连接 engine create_engine(sqlite:///users_addresses_example.db) Base.metadata.create_all(engine)# 创建会话 Session sessionmaker(bindengine) session Session()# 清空 User 表数据 session.query(User).delete() session.commit()# 清空 Address 表数据 session.query(Address).delete() session.commit()# 插入数据到 User 表 user1 User(nameAlice, age25) user2 User(nameBob, age30) user3 User(nameCharlie, age22) user4 User(namepemp, age34) user5 User(namepita, age39)session.add_all([user1, user2, user3, user4, user5]) session.commit()# 插入数据到 Address 表 address1 Address(user_iduser1.id, street123 Main St, cityNew York) address2 Address(user_iduser2.id, street456 Park Ave, cityLos Angeles) address3 Address(user_iduser3.id, street789 Elm St, cityChicago)session.add_all([address1, address2, address3]) session.commit()# 进行表的联合查询 result session.query(User, Address).join(Address, User.id Address.user_id).all()for user, address in result:print(fUser: {user.name}, Age: {user.age}, Address: {address.street}, {address.city})print(**40)from sqlalchemy import and_# 进行表的外连接查询 # outerjoin外连接查询将返回左表User的所有记录以及右表Address 表中与左表记录关联的数据如果没有匹配的记录则右表数据部分为 NULL。 # result session.query(User.id, Address.id).outerjoin(Address, User.id Address.user_id).all()# # 找出没有关联的记录 # unassociated_records [(user_id, address_id) for user_id, address_id in result if address_id is None]# print(User 和 Address 表中没有关联的 ID) # for user_id, _ in unassociated_records: # print(f独立User ID: {user_id})# 进行表的外连接查询 result session.query(User, Address).outerjoin(Address, User.id Address.user_id).all()for user, address in result:if address is None:print(f独立User: {user.name}, Age: {user.age}, Address: None)else:print(fUser(关联ID): {user.name}, Age: {user.age}, Address: {address.street}, {address.city})# 关闭会话 session.close() from sqlalchemy import create_engine, Column, Integer, String,select from sqlalchemy.orm import sessionmaker, declarative_base from sqlalchemy import func# 创建数据库连接 engine create_engine(sqlite:///users_example.db)Base declarative_base()# 定义模型类 class User(Base):__tablename__ usersid Column(Integer, primary_keyTrue)name Column(String)age Column(Integer)# 创建数据表 Base.metadata.create_all(engine)# 创建 Session 类 Session sessionmaker(bindengine) session Session()# 事先清空数据 session.query(User).delete() session.commit()# 插入更多数据 users_data [{name: Charlie, age: 28},{name: David, age: 32},{name: Eve, age: 27},{name: gemm, age: 43},{name: riyu, age: 43} ]for user_data in users_data:user User(**user_data)session.add(user) session.commit()# 查询数据 query session.query(User)# 使用 filter() 方法添加过滤条件 result query.filter(User.age 25).all() print(年龄大于25的用户, [(user.name, user.age) for user in result])# 使用 func.group_concat() 函数将同一年龄下的用户名合并成一个字符串 result session.query(User.age, func.group_concat(User.name)).group_by(User.age).all() print(按年龄分组查询) for age, names in result:name_list names.split(,)print(f年龄 {age} 的用户有{, .join(name_list)})# # 使用 group_by() 方法按年龄分组查询 # result query.with_entities(User.age, func.group_concat(User.name)).group_by(User.age).all() # print(按年龄分组查询) # for age, names in result: # name_list names.split(,) # print(f年龄 {age} 的用户有{, .join(name_list)})# 使用 order_by() 方法对结果进行排序 result query.order_by(User.age).all() print(按年龄排序, [(user.name, user.age) for user in result])# 统计查询结果的数量 count query.count() print(查询结果的数量, count)# 删除满足条件的记录 session.query(User).filter(User.name Charlie).delete() session.commit()# 更新满足条件的记录 session.query(User).filter(User.name David).update({User.age: 35}) session.commit()# 执行 SELECT 查询 # 使用 select(User) 会创建一个 SELECT 查询查询的对象是 User 这个表格模型类。这意味着你将检索 User 表中的所有列 with engine.connect() as connection:stmt select(User).where(User.age 25)result connection.execute(stmt)for row in result:print(row) --------------- sqlalchemy 中 select 函数的参数可以是一个或多个表达式用于指定要查询的列。它接受一个可迭代对象作为参数该可迭代对象包含要选择的列或其他表达式。 以下是 select 函数的基本语法 select(columns, whereclauseNone, from_obj[], **kwargs) columns要选择的列或其他表达式可以是一个或多个。select(User模型类)whereclause可选参数用于指定 WHERE 子句中的条件表达式。from_obj可选参数用于指定查询的来源表FROM 子句。**kwargs其他可选参数例如 group_by、having、order_by 等。 在使用 select 函数时你至少需要提供一个 columns 参数来指定要选择的列。其他参数都是可选的根据实际需要来决定是否使用。 ------------------------ session.scalars() 方法是 SQLAlchemy 中用于执行查询并返回标量值Scalar的方法。在 ORM 查询中当你只需要获取一列数据的值而不是整个对象时可以使用 session.scalars() 方法。  from sqlalchemy import select# 创建一个 SELECT 查询选择名字为 spongebob 或 sandy 的用户的 id 列 stmt select(User.id).where(User.name.in_([spongebob, sandy]))# 使用会话执行查询 with Session(engine) as session:# 执行查询并返回标量值for user_id in session.scalars(stmt):print(user_id)
http://www.zqtcl.cn/news/467920/

相关文章:

  • 自己做的网站怎样让百度搜到长沙专业外贸建站公司
  • 上海缔客网站建设公司网站策划书内容不包括什么
  • 找团队做网站网站建设 通知
  • 网站标题上的小图标怎么做的霞浦建设局网站
  • 国外那些网站做展厅比较好vp代理商网站管理系统
  • 广州最大网站建设wordpress数字超市
  • 怎么提高网站seo优化关键字排名wordpress媒体库搜索
  • 伊春网站制作怎么做视频网站赚钱吗
  • 前端网站开发邹城住房城乡建设部网站
  • 淘宝u站怎么做网站的网站建设费 科研 类
  • 代点任意广告链接网站怎样做才能让百度搜到网站产品
  • 宿迁网站搭建南宁建设局
  • app官网入口昆明排名优化
  • 新乡网站建设开发wordpress如何添加一个文章列表页
  • 中国3大做外贸的网站seo建站营销
  • 建站免费加盟高台县建设局网站
  • 网站联盟推广江门提供网站制作平台
  • 百度上面如何做网站asp源码下载
  • 婚庆网站的设计意义网站规格
  • 网站收录率嘉兴网站开发公司
  • 优秀的设计网站不备案 没版权 网站
  • 建设 互动 网站 模式网络营销模式不是孤立存在的
  • 怡梦姗网站做么上海21世纪人才网官网登录
  • 家政网站建设方案分析哈尔滨做网站找哪家好
  • 如何建设论坛网站营销宣传策划方案
  • 企业网站推广排名技术网
  • 网站建设网页设计培训学校延边网站建设
  • 自己做网站需要的技术个人简历表格下载
  • 做网站建设小程序ukidc做电影网站
  • 网站内容分析软文范例100字