Oracle删除表数据

Oracle删除表数据

在本教程中将学习如何使用Oracle DELETE语句从表中删除一行或多行数据记录。

要从表中删除一行或多行,请按如下所示使用Oracle DELETE语句:

DELETE

FROM

table_name

WHERE

condition;

在这个语句中,

首先,指定要从中删除数据的表的名称。其次,通过使用WHERE子句中的条件指定应该删除哪些行。如果省略了WHERE子句,则Oracle DELETE语句将从表中删除所有行。

请注意,使用TRUNCATE TABLE语句删除大型表中的所有行会更快更高效。

Oracle DELETE示例为了演示目的,这里创建一个名为sales的新表,其中包含所有销售订单数据:

DROP TABLE sales;

CREATE TABLE sales AS

SELECT

order_id,

item_id,

product_id,

quantity,

unit_price,

status,

order_date,

salesman_id

FROM

orders

INNER JOIN order_items

USING(order_id);

此语句将数据从示例数据库中的orders和order_items表复制到创建的sales表中。

1. Oracle DELETE - 从表中删除一行以下语句删除了一个订单号为1,项目号为1的行记录:

DELETE

FROM

sales

WHERE

order_id = 1

AND item_id = 1;

执行上面语句,Oracle返回了以下消息:

1 行已删除。

2. Oracle DELETE - 从表中删除多行以下语句删除了订单号为1的所有行:

DELETE

FROM

sales

WHERE

order_id = 1;

执行上面语句,Oracle显示了以下消息:

12 行已删除。

3. Oracle DELETE - 删除表中的所有行以下示例删除sales表中的所有行:

DELETE FROM sales;

执行上面语句,Oracle显示了以下消息:

625 行已删除。

4. Oracle删除 - 级联删除在现实应用中,经常从与其他表中的行具有外键关系的表中来删除行记录。

例如,想要从orders表中删除id为1的销售订单,并从order_items表中删除与订单id是1关联的所有行项目。 通常可以发出两个DELETE语句,如下所示:

-- 第一条

DELETE FROM

orders

WHERE

order_id = 1;

-- 第二条

DELETE FROM

order_items

WHERE

order_id = 1;

COMMIT WORK;

请注意,COMMIT WORK语句确保两个DELETE语句以全部或全部方式执行,以防第一条语句成功,但第二个DELETE语句失败时在order_items表中的孤行。

但是,如果知道如何正确设置表的约束,那么这是不必要的。

在这种情况下,当创建order_items表时,可以使用DELETE CASCADE选项定义一个外键约束,如下所示:

CREATE TABLE order_items

(

order_id NUMBER( 12, 0 ) ,

-- other columns

-- ...

CONSTRAINT fk_order_items_orders

FOREIGN KEY( order_id )

REFERENCES orders( order_id )

ON DELETE CASCADE

);

通过这样做,每当从orders表中删除一行时,例如:

DELETE

FROM

orders

WHERE

order_id = 1;

order_items表中order_id为1的所有行也被数据库系统自动删除。

在本教程中,您已学习如何使用Oracle DELETE语句来删除指定表中行记录。

上一篇:

Oracle更新表数据

下一篇:

Oracle合并数据

相关推荐

浙江省2025年普通高校招生成绩分数段表(总分)
正规beat365app

浙江省2025年普通高校招生成绩分数段表(总分)

📅 08-30 👁️ 695
傲融CRM:产品介绍,价格套餐,功能特色,评价信息
365体育备用网站

傲融CRM:产品介绍,价格套餐,功能特色,评价信息

📅 08-09 👁️ 5926
GQ简介 GQ杂志怎么样 GQ的意思→MAIGOO百科
正规beat365app

GQ简介 GQ杂志怎么样 GQ的意思→MAIGOO百科

📅 08-24 👁️ 7537
蜂巢素怎么吃最有效?
正规beat365app

蜂巢素怎么吃最有效?

📅 07-17 👁️ 5373