使用 SQLAlchemy Core 处理数据-更新数据

网站编辑2020-09-15 11:44:30688

  更新数据
  
  update() 方法和前面用过的 insert() 方法很相似,它们的语法几乎完全一样,但是 update() 可以指定一个 where 子句,用来指出要更新哪些行。与插入语句一样,更新语句可以由 update() 函数或者表格的 update() 方法来创建。如果省略 where 子句,则表示要更新表中的所有行。
  
  例如,假设你已经完成了库存所需的巧克力饼干(chocolate chip cookies)的烘焙工作。在示例 2-23 中,我们先通过更新查询把烘焙好的巧克力饼干添加到当前库存中,再查看当前库存中巧克力饼干的数量。
  
  示例 2-23 更新数据
  
  from sqlalchemy import update
  
  u = update(cookies).where(cookies.c.cookie_name == "chocolate chip")
  
  u = u.values(quantity=(cookies.c.quantity + 120)) ?
  
  result = connection.execute(u)
  
  print(result.rowcount) ?
  
  s = select([cookies]).where(cookies.c.cookie_name == "chocolate chip")
  
  result = connection.execute(s).first()
  
  for key in result.keys():
  
  print('{:>20}: {}'.format(key, result[key]))
  
  ? 使用生成方法构建语句。
  
  ? 打印更新的行数。
  
  结果如下:
  
  1
  
  cookie_id: 1
  
  cookie_name: chocolate chip
  
  cookie_recipe_url: http://some.aweso.me/cookie/recipe.html
  
  cookie_sku: CC01
  
  quantity: 132
  
  unit_cost: 0.50
  
  除了更新数据之外,某些时候,我们还想从表中删除某些数据,接下来就学习删除数据的方法。

最新推荐

右侧广告图1
  • 数据安全中心

    为客户提供敏感数据自动识别、分级分类、大数据安全审计与数据脱敏等数据安全能力,形成一体化的云上全域数据防泄漏与安全解决方案

    3200.00/月

    典名专属折扣

  • 数据库审计

    在满足等保2.0‘安全审计’相关要求的同时,智能解析数据库通信流量,细粒度审计数据库访问行为,通过对数据库全量行为的审计溯源、危险攻击的实时告警、风险语句的智能预警,提供敏感的数据库资产安全的监控保障

    3000.00/月

    等保合规

  • 标准OSS存储包

    适合图片/音视频等多媒体数据存储,数据实时处理,海量存储无上限

    89.00/年

右侧广告图2