SQL-删除

本文详细介绍了SQL中的删除操作,包括drop、truncate和delete的区别。drop操作会彻底删除表及其所有相关结构;truncate仅清空数据但保留表结构;delete则能按条件删除数据且可回滚。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

本文主要记录SQL删除操作,drop()/truncate()/delete()的相关笔记


1. 删除表

1.1 drop

清除数据并且销毁表,是一种数据库定义语言(DDL Data Definition Language), 执行后不能撤销,被删除表格的关系,索引,权限等等都会被永久删除。

drop table if exists test1;

代码如下(示例):

CREATE TABLE test1
(id smallint(5) primary key not null,
first varchar(45) not null,
date_time date not null)

drop table if exists test1;

select * from test1
输出:
SQL_ERROR_INFO: "Table 'test1' doesn't exist"

1.2 truncate

只清除数据,保留表结构,列,权限,索引,视图,关系等等,相当于清零数据,是一种数据库定义语言(DDL Data Definition Language),执行后不能撤销。

1.3 delete

删除(符合某些条件的)数据,是一种数据操纵语言(DML Data Manipulation Language),执行后可以撤销。

2. 删除表中满足特定条件的行

delete from titles_test where condition

3. 删除表中部分记录

存在一个表table1,有两列数据id1,list2,现需要只保留表中各个list2值对应id1最小的数据行,其他都去除。

id1list2
1a
2b
3a

操作后只剩

id1list2
1a
2b
delete t1 from table1 t1,table1 t2 where t1.list2=t2.list2 and t1.id>t2.id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sky-JT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值