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

第2节-过滤表中的行-DELETE

摘要: 在本教程中,你将学习如何使用 PostgreSQLDELETE 语句从表中删除一行或多行。

PostgreSQL DELETE 语句

PostgreSQLDELETE 语句是一个强大的工具,它能从表中永久删除一行或多行数据。

以下是 DELETE 语句的语法:

DELETE FROM table_name
WHERE condition;

在此语法中:

  • 首先,在 DELETE FROM 子句中指定你想要删除行的表名。
  • 其次,在 WHERE 子句中提供一个条件,以筛选要删除的行。

由于 WHERE 子句是可选的,因此你可以在 DELETE 语句中省略它。在这种情况下,DELETE 语句将删除表中的所有行。

如果没有行满足 WHERE 子句中的条件,DELETE 语句将不会从表中删除任何行。

PostgreSQL 会返回一个命令标签,该标签指示由 DELETE 语句删除的行数:

DELETE count;

如果计数为零,DELETE 语句不会从表中删除任何行。

创建示例表

我们将从 inventories 表中删除行:

CREATE TABLE inventories (name VARCHAR(255),brand VARCHAR(50),quantity INT,price DECIMAL(19, 2)
);INSERT INTO inventories (name, brand, quantity, price)
VALUES ('iPhone 14 Pro', 'Apple', 10, 999.99),('Galaxy S23 Ultra', 'Samsung', 15, 1199.99),('Pixel 7 Pro', 'Google', 8, 899.99),('Xperia 1 IV', 'Sony', 7, 1299.99);

从表中删除一行

以下语句使用 DELETE 语句从 inventories 表中删除一行:

DELETE FROM inventories
WHERE name = 'iPhone 14 Pro';

输出:

DELETE 1

在这个示例中,WHERE 子句中的条件匹配了一行。因此,DELETE 语句只删除了该行。

输出表明,DELETE 语句成功删除了一行。

从表中删除所有行

以下语句使用 DELETE 语句从 inventories 表中删除所有行。

DELETE FROM inventories;

这条 DELETE 语句没有使用 WHERE 子句,因此它会删除 inventories 表中所有剩余的行。当你想要彻底清空一张表时(例如,在重新填充新数据之前),这可能会很有用。

输出:

DELETE 3

输出显示,DELETE 语句从 inventories 表中删除了三行。

返回已删除的行

DELETE 语句有一个可选的 RETURNING 子句,用于返回被删除的行。

DELETE FROM table_name
WHERE condition
RETURNING column1, column2, ...;

在该语法中,请指定要返回的已删除行中用逗号分隔的列列表。如果要返回已删除行的所有列,可以按如下方式使用星号 (*):

DELETE FROM table_name
WHERE condition
RETURNING *;

例如,首先,向 inventories 表中插入新行:

INSERT INTO inventories (name, brand, quantity, price)
VALUES ('iPhone 15 Pro', 'Apple', 5, 1299.99);

其次,删除 iPhone 15 Pro 并返回已删除的行:

DELETE FROM inventories
WHERE name = 'iPhone 15 Pro'
RETURNING *;

输出:

     name      | brand | quantity |  price
---------------+-------+----------+---------iPhone 15 Pro | Apple |        5 | 1299.99

总结

  • 使用 PostgreSQLDELETE 语句从表中删除一行或多行。
  • 使用 RETURNING 子句将删除的行返回给客户端。

文章转载自:

http://55BwXp12.sypby.cn
http://HwThg88Z.sypby.cn
http://KmONdT7S.sypby.cn
http://aOyG9jc7.sypby.cn
http://6rVylCTy.sypby.cn
http://0YthWicl.sypby.cn
http://uvREn25Y.sypby.cn
http://7F7U6jWX.sypby.cn
http://bS5sbjt8.sypby.cn
http://xC5wKOzL.sypby.cn
http://EjiL2vvX.sypby.cn
http://mThtfJgM.sypby.cn
http://tJRr46dB.sypby.cn
http://yCR4D274.sypby.cn
http://PA1wsX1p.sypby.cn
http://e6tri0y0.sypby.cn
http://436VWcoa.sypby.cn
http://fbnfe58Y.sypby.cn
http://5XCzZe3B.sypby.cn
http://M6DxsFj9.sypby.cn
http://KklC7WSA.sypby.cn
http://lXJxPnw0.sypby.cn
http://kowLqWPz.sypby.cn
http://4QteJ4mh.sypby.cn
http://cPluPbNO.sypby.cn
http://e97Dyoyq.sypby.cn
http://WPomuzoc.sypby.cn
http://wvZddmKx.sypby.cn
http://670HBVro.sypby.cn
http://EOJX63st.sypby.cn
http://www.dtcms.com/a/375779.html

相关文章:

  • 基于AI的未佩戴安全帽检测算法
  • webpack打包方式
  • 第2节-过滤表中的行-WHERE
  • linux内核 - 内核是一个分层的系统
  • 基于Multi-Transformer的信息融合模型设计与实现
  • C# 14 新特性详解
  • Java实战项目演示代码及流的使用
  • BFS在路径搜索中的应用
  • Shell 脚本基础完全指南:语法、调试、运行与实战详解
  • Claude-Flow AI协同开发:钩子系统与 GitHub 集成
  • 食品饮料生产工艺优化中 CC-Link IE FB 转 DeviceNet 协议下西门子 S7-1500 与倍加福流量传感器的应用
  • 清源 SCA 社区版更新(V4.2.0)|漏洞前置感知、精准修复、合规清晰,筑牢软件供应链安全防线!
  • Seaborn库
  • 2031 年达 13.9 亿美元!工业温度控制器市场 CAGR4.2%:技术路径、应用场景与未来机遇全解析
  • sklearn 加州房价数据集 fetch_california_housing 出错 403: Forbidden 修复方案
  • mybatis plus 如何更新参数为空, mybatis plus update方法如何更新参数为null, update()如何设置参数=null
  • Spring Boot 项目新增 Module 完整指南
  • TruckSim与Matlab-Simulink联合仿真(一)
  • virsh常用命令 笔记
  • 中国AI云市场报告:阿里云份额达35.8%,高于2至4名总和
  • 未来海洋变暖对生态环境的影响
  • 《2025年AI产业发展十大趋势报告》四十八
  • Shell 脚本判断
  • 前端工程化资源预加载
  • Linux-Shell编程正则表达式
  • CentOS7静态IP设置全攻略
  • Kafka面试精讲 Day 12:副本同步与数据一致性
  • [职业竞赛][移动应用]网络请求、JSON 文件读取解析、APP全局变量
  • 2、Python函数设计与字典应用
  • 数据分析与AI丨如何用数据分析找到更优的橡胶配方?