DML语言(重点)———delete
2023-12-25 19:42:13
语法:
delete from 表名 [where? 条件]
-- 删除数据(避免这样写,会全部删除)
DELETE FROM `student`
-- 删除指定数据
DELETE FROM `student` WHERE id='2'
TRUNCATE命令
作用:完全清空一个数据库表,表的结构和索引约束不会变!
代码案例:
-- 清空student表
TRUNCATE `student`
delete 和 truncate 区别:
1.相同点:都能删除数据,都不会删除表的结构?
2.不同点:
(1)truncate 会重新设置自增列,计数器会归零
(2)truncate 不会影响事务
代码案例:
-- 测试delete 和 truncate 区别
CREATE TABLE `test`(
`id` INT(4) NOT NULL AUTO_INCREMENT,
`coll` VARCHAR(20) NOT NULL,
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4
INSERT INTO `test`(coll) VALUES ('1'),('2'),('3')
DELETE FROM `test` -- 不会影响自增
TRUNCATE TABLE `test` -- 自增会归零
了解即可:delete删除问题,重启数据库,现象
1.INNODB? ? 自增列会从1开始(存在内存中,断电即失)
2.MyISAM? ? 继续从上一个自增量开始(存在文件中的,不会丢失)
文章来源:https://blog.csdn.net/2301_79221593/article/details/135205691
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!