解释 DBMS 中 delete 命令的用法
dbmsdatabasebig data analytics更新于 2026/1/13 18:52:17
Delete 命令是一种数据操作命令,用于从表中删除记录。可以一次性删除所有记录,也可以根据条件删除一组记录。
从表中删除特定行
要删除表中的特定行,我们需要指定 where 条件。根据条件,该特定行将从表中删除。
语法如下 −
delete from tablename where condition
例如:
Delete from employee where name='sneha';
示例
下面是一个从表中删除特定行的示例 −
create table employee(ename varchar(30),department varchar(20), age number(30), salary number(20));
insert into employee values('ram','projectmanager',40,50000);
insert into employee values('priya','assistant director',45,45000);
insert into employee values('hari','developer',46,30000);
select * from employee;
输出
您将获得以下输出 −
ram|projectmanager|40|50000 priya|assistant director|45|45000 hari|developer|46|30000
现在,使用下面给出的程序 −
示例
delete from employee where ename='priya'; select * from employee;
输出
您将获得以下输出 −
ram|projectmanager|40|50000 hari|developer|46|30000
根据条件删除数据
例如:
delete from employee where age>45;
示例
以下示例删除年龄大于 45 岁的员工行,其余行将保留在数据库中 −
create table employee(ename varchar(30),department varchar(20), age number(30), salary number(20));
insert into employee values('ram','projectmanager',40,50000);
insert into employee values('priya','assistant director',45,45000);
insert into employee values('hari','developer',46,30000);
select * from employee;
输出
您将获得以下输出 −
ram|projectmanager|40|50000 priya|assistant director|45|45000 hari|developer|46|30000
现在,使用下面给出的程序−
delete from employee where age>45; select * from employee;
输出
您将获得以下输出 −
ram|projectmanager|40|50000 priya|assistant director|45|45000
根据子查询的结果删除数据
删除操作也可以基于子查询的结果进行。
例如:
delete from employee where age in (select age from employee where age>45)
删除表中的所有行
如果要删除整个表,可以使用以下 −
delete from employee; (或) delete * from employee;
要删除表中的所有行,我们也可以使用 TRUNCATE 命令。
语法如下 −
TRUNCATE table tablename;
例如:
TRUNCATE 表 employee
TRUNCATE 会删除表中的所有行,且不进行备份。
示例
下面是一个从表中删除所有行的示例 −
create table employee(ename varchar(30),department varchar(20), age number(30), salary number(20));
insert into employee values('ram','projectmanager',40,50000);
insert into employee values('priya','assistant director',45,45000);
insert into employee values('hari','developer',46,30000);
delete from employee;
select * from employee;
输出
您将获得以下输出 −
no rows displayed

