sql-3.4DML delete truncate 和 drop

(insert into   values)

(update   set   where)

 

delete删除

delete from 表名[where  条件]

delete from `asd`  (删库跑路)

delete from `asd` where `id`=1(删除指定条件)

 

 

truncate

truncate table 表名

作用:完全删除一个数据库,表的结构和索引约束不会变

reuncate table `student`

 

相同点:

都删除数据,都不改变结构

不同点:

truncate

重新设置自增列,自增归零

不会影响事务

 

delete

charset的区别(重启数据库的区别)

innodb 自增列会从零开始(存在内存中,断电及失)

truncate 继续从上一个自增量开始(存在文件中的,不会丢失)

 

drop

丢失结构!

丢失数据!

 

 

代码示例

INSERT INTO `asd`(`name`) VALUES ('lizhen'),('asdf'),('fgsdf')

SELECT * FROM asd

TRUNCATE `asd` WHERE LIKE '_i%'
DELETE FROM `asd` WHERE `id`='00000000001'
DELETE FROM `asd`
TRUNCATE TABLE `asd

posted @ 2023-12-07 19:30  zhenle  阅读(28)  评论(0)    收藏  举报