MySQL 中级教程(五) 表的删除DELETE,TRUNCATE,DROP

关于表以及表的数据的删除有三种方法,DELETE、TRUNCATE、DROP。
现在假使有一张表叫做 book。

DELETE

DELETE 针对的是表的数据层面,作用在一条一条的数据上,使用语法如下:

DELETE FROM book;

上面的语句表示删除 book 表的所有数据,当然也可以指定删除的条件,如:

DELETE FROM book WHERE id > 10000;

以上的删除语法有一个特点,就是如果删除数据的数据量过大,只要删除的操作没有返回结果,因为任何原因中断了操作,数据还是会恢复到删除前的状态。
所以如果要删除大量数据,为了不锁定表影响其它进程对该表的操作,可以对数据分批次删除。

TRUNCATE

这个关键词的作用是,清空某张表,跟上面 DELETE 的

DELETE FROM book;

效果相同,但是这个操作更快,因为,
DELETE 的操作手段是对每一条数据挨个删除,
TRUNCATE 的操作手段是直接删除该表的数据库文件,然后根据原表的数据结构重新创建一张原名表。
所以,如果要清空一张表,推荐使用 TRUNCATE,而且如果 id 是自增字段,那么 TRUNCATE 之后会重新从1 开始计数。
TRUNCATE 使用语法如下:

TRUNCATE TABLE book;
DROP

这个作用是删除某一张表,是在表的层面作用,效果是使用之后该表在数据库中就不存在了,表结构和数据都没了,show tables; 之后没有该表的操作。
使用语法如下:

DROP TABLE book;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值