数据库操作

标签下的所有文章 8 篇文章
返回所有标签

PostgreSQL UPDATE语句怎么玩?从改邮箱到批量更新的避坑技巧你都会吗?

PostgreSQL的UPDATE语句用于修改数据库中的已有数据,通过SET子句定义新值,WHERE子句精准定位行,FROM子句关联其他表,RETURNING子句返回修改结果。高级用法包括分批更新减少锁冲突、使用WITH子句分步处理复杂逻辑、结合游标逐行修改。实践案例展示了电商订单状态更新的具体实现,常见报错如语法错误、唯一约束冲突等也提供了解决方案。

PostgreSQL DELETE居然有这些操作?返回数据、连表删你试过没?

PostgreSQL的DELETE语句用于从表中删除满足条件的行,核心逻辑通过WHERE条件筛选。若无WHERE,将删除所有行。USING子句可连接其他表进行关联删除,RETURNING子句可返回被删除的行。WHERE CURRENT OF用于删除游标当前指向的行。批量删除可通过WITH子查询模拟LIMIT。清空表时,TRUNCATE比DELETE更快,但不 …

点赞背后的技术大冒险:分布式事务与SAGA模式

在微服务架构中,点赞操作涉及多个服务的数据更新,传统数据库事务在分布式系统中失效,需采用SAGA事务模式。SAGA将事务分解为多个本地事务,通过补偿机制保证最终一致性。每个操作需定义对应的补偿操作,补偿操作需幂等,并记录事务状态和实现超时机制。代码实现包括基础模型定义、事务上下文管理器和核心业务逻辑,测试验证正常和异常流程。生产环境中建议添加事务日志、实现定 …

FastAPI中的复杂查询与原子更新指南

FastAPI 结合 Tortoise-ORM 实现复杂查询与原子更新。通过 Q 对象构建多条件查询,支持 AND、OR、NOT 逻辑运算符,动态组合查询条件。使用 F 表达式进行原子更新,避免竞态条件,确保数据一致性。示例包括订单状态与金额的复杂查询、库存扣减的原子操作,以及商品促销的价格更新。常见错误包括字段拼写错误、类型不匹配和空结果集,需通过模型检查 …

异步IO与Tortoise-ORM的数据库

异步IO与同步IO的核心区别在于阻塞与非阻塞模式。Tortoise-ORM通过协议层、连接池层和ORM层实现异步数据库操作,支持高效的并发处理。用户管理系统搭建中,Tortoise-ORM与FastAPI结合,实现了用户创建和查询功能,并通过Pydantic进行数据校验。异步ORM适用于高并发场景,参数化查询可防止SQL注入。最佳实践包括连接池配置、查询优化 …

深入解析事务基础与原子操作原理

事务是数据库操作的核心,需满足ACID特性:原子性、一致性、隔离性和持久性。事务隔离级别包括读未提交、读已提交、可重复读和串行化,适用于不同场景。嵌套事务通过上下文管理实现,支持回滚点以部分回滚。实战案例展示了订单系统中的事务处理,包括余额检查和支付失败回滚。常见错误如TransactionManagementError和死锁,需通过正确使用事务装饰器和重试 …