阿里云代理商-阿里云服务器-阿里云数据库-重庆典名科技

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

发布时间: 2020-09-15 11:44:30文章作者: 网站编辑阅读量: 401
  更新数据
  
  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
  
  除了更新数据之外,某些时候,我们还想从表中删除某些数据,接下来就学习删除数据的方法。
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠