删除
delete
-- 删除数据 (避免这样写),会全部删除
DELETE FROM `student`
-- 删除指定数据
DELETE FROM `student` WHERE id =1;
语法: delete from 表名[where ]
TRUNCATE 命令
作用: 完全清空一个数据库表,表的结构和索引约束不会变!
-- 清空一个表
TRUNCATE `student1`
区别:
相同点:都能删数据,都不会删除表结构
不同:
TRUNCATE 重新设置自增列计数器会归零
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`) VALUES('1'),('2'),('3')
DELETE FROM `test`
TRUNCATE TABLE `test`