/*********************************************************第三章 MySQL数据管理3.5 删除p15:Delete和Truncate详解time:12:05*********************************************************/
delete命令
语法:delete from 表名 [where 条件]
-- 删除数据DELETE FROM student -- 不要这么写,这样做会删掉所有的数据-- 1:删除指定数据DELETE FROM student WHERE id = 1
TRUNCATE命令(专门清空数据库的命令)
作用:完全清空一个数据库表,表的结构和索引约束不会变!
-- 2:清空student表TRUNCATE `student`
delete命令与TRUNCATE命令的区别
CREATE TABLE IF NOT EXISTS `test`( id INT(4) NOT NULL AUTO_INCREMENT, coll VARCHAR(20) NOT NULL, PRIMARY KEY(id))ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO `test`(`coll`) VALUES('1'),('2'),('3');DELETE FROM `test` -- 不会影响自增TRUNCATE TABLE `test` -- 自增会归零
了解即可:==delete删除的问题==,重启数据库(net start mysql),出现以下现象
-- 3:测试delete与truncate的区别CREATE TABLE IF NOT EXISTS `test`( id INT(4) NOT NULL AUTO_INCREMENT, coll VARCHAR(20) NOT NULL, PRIMARY KEY(id))ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO `test`(`coll`) VALUES('1'),('2'),('3');DELETE FROM `test` -- 不会影响自增TRUNCATE TABLE `test` -- 自增会归零-------------------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `test_MyISAM`( id INT(4) NOT NULL AUTO_INCREMENT, coll VARCHAR(20) NOT NULL, PRIMARY KEY(id))ENGINE=MYISAM DEFAULT CHARSET=utf8INSERT INTO `test_MyISAM`(`coll`) VALUES('1'),('2'),('3');DELETE FROM `test_MyISAM` -- 不会影响自增DROP TABLE IF EXISTS `test_myisam`