删除

删除

delete命令

语法:delete from 表名 [where 条件]

--删除数据(避免这样写,会全部删除)
DELETE FROM `student`

--删除指定数据
DELETE FROM `student` WHERE id = 1;

TRUNCATE 命令

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

--清空student表
TRUNCATE `student`

delete 和TRUNCATE区别

  • 相同点:都能删除数据,都不会删除表结构

  • 不同:

    • TRUNCATE重新设置 自增列 计数器会归零

    • TRUNCATE不会影响事务

 

复制代码
-- 测试delete 和 truncate的区别
CREATE TABLE `test`(
`id` INT(10) NOT NULL AUTO_INCREMENT,
`col` VARCHAR(20) NOT NULL,
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET =utf8

INSERT INTO `test`(`col`) VALUES (1),(2),(3)

DELETE FROM `test` -- 不会影响自增

TRUNCATE FROM `test` -- 自增会归零
复制代码

 

了解即可:delete删除的问题,重启数据库,现象

  • INNODB 自增列会从1开始(存在内存当中的,断电即失)

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

 

posted @   少时凌云志  阅读(348)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2021-07-26 break continue
点击右上角即可分享
微信分享提示