删除oracle中的一列数据,Oracle删除表数据
本篇文章帮大家学习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删除表数据相关推荐
- oracle中的rowid--伪列-删除表中的重复内容-实用
1.rowid是一个伪列,是用来确保表中行的唯一性,它并不能指示出行的物理位置,但可以用来定位行. 2.rowid是存储在索引中的一组既定的值(当行确定后).我们可以像表中普通的列一样将它选出来. 3 ...
- oracle dba_waiters中的lockid是什么,查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL...
查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL 数据库阻塞检查处理方法 当应用服务器发生阻塞时(特别是集群1),应先按下面方法检查数据库,以判明应用服务器阻塞是否由数据库阻塞引起. 如果 ...
- oracle中右击出现的含义,Oracle中经典的问题解决方案-Oracle
对于 Oracle 数据库的开发,我们可能有时候会遇到一些奇怪的问题,与其它数据库存在不同的差异的问题,在这里我列举了一些比较有趣的问题 问题一:解决Oracle中时间问题 Oracle默认date类 ...
- oracle中如何写函数【oracle技术】
oracle中如何写函数[oracle技术] | 浏览:1377 | 更新:2014-04-29 23:14 | 标签:oracle 在oracle数据开发中函数是必不可少的.函数可以一般是可以完成某 ...
- pandas使用query函数删除dataframe中某一列数值小于某一特定值的行(remove dataframe rows baed on column value)
pandas使用query函数删除dataframe中某一列数值小于某一特定值的行(remove dataframe rows baed on column value) 目录
- pandas使用query函数删除dataframe中某一列数值等于某一特定值的行(remove dataframe rows baed on column value)
pandas使用query函数删除dataframe中某一列数值等于某一特定值的行(remove dataframe rows baed on column value) 目录
- java excel 列_Java 删除Excel中的行和列
Excel是日常工作中常用的办公软件之一.在制作表格的时候,有时需要在工作表中插入一个或多个行和列,同时也会遇到需要将工作表中多余的行或列删除的情况.本文就将通过使用Java程序来演示如何删除Exce ...
- R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)
R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据.在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series) ...
- Oracle中ROWNUM伪列和ROWID伪列的用法与区别
做过Oracle分页的人都知道由于Oracle中没有像MySql中limit函数以及SQLServer中的top关键字等,所以只能通过伪列的方式去满足分页功能,在此,不谈分页方法,只从根本上去介绍这两 ...
最新文章
- msteel能计算钢结构楼梯吗_坚持爬楼梯能减肥吗 怎么爬楼梯可以减肥
- 证明连通简单图是哈密顿图
- 深入理解移动前端开发之viewport
- python线性规划教程_python 利用cvxopt线性规划
- Hibernate学习笔记_查询
- 犯罪分子正在将合法的云监控工具用作后门
- 机器学习算法之KNN算法
- 电信光猫-华为HG8245C获取超级管理员密码
- Oracle RAC 11g实战指南
- Verilog 练习 7段数码管译码器
- 多线程-RGB_LED闪烁灯
- [心情]我的心依然很痛
- 如何获取这台电脑上登陆过的全部QQ号,
- Android开源框架PowerfulViewLibrary——PowerfulEditText的介绍和源码解析
- C语言(C++)打开有规律名称的多个文件,并写入数据
- numpy的文件存储 .npy .npz 文件
- dns设置快速连接微软服务器,快速搭建Windows防污染DNS服务器——Pcap_DNSProxy(一)...
- 解决低版本matlab打开高版本Matlab的.m文件时,出现中文乱码的问题。
- Js实现将Excel导出为JSON
- qt for s60 资料集