delete与truncate的区别
-- 第15节 Delete和Truncate -- 删除数据库(避免这样写) -- 语法:delete from 表名 where 条件 -- 删除的是表中的内容,但表头,也就是表结构还在 DELETE FROM `student1` WHERE id=1; -- truncate命令表示清空某一张表:truncate 表名; TRUNCATE `student1`; -- 以下是为了测试delete和truncate的区别代码 CREATE TABLE `test`( `id` INT(4) NOT NULL AUTO_INCREMENT, `coll` VARCHAR(20) NOT NULL, PRIMARY KEY(`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8 INSERT INTO `test`(`coll`) VALUE('1'),('2'),('3'); DELETE FROM test;-- delete 语句删除不会影响自增 TRUNCATE TABLE `test`;-- truncate 语句删除自增会归零
/*
1、delete与truncate的区别
-
相同点:都能删除数据,但不会删除表结构
-
不同点:
-
truncate:会重新设置自增列,计数器会归零,而且不会影响事务
-
delete删除的问题,重启数据库后有以下现象
-
用 INNODB引擎:自增列会从1开始(存在内存中的,断电即失)
-
用 MYISAM引擎:继续从上一个自增量开始(存在文件中,不会断电失去)
-
-
*/

浙公网安备 33010602011771号