使用 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
除了更新数据之外,某些时候,我们还想从表中删除某些数据,接下来就学习删除数据的方法。