一、DELETE和TRUNCATE对自增长的影响
### --- DELETE和TRUNCATE对自增长的影响
——> 删除表中所有数据有两种方式
清空表数据的方式 | 特点 |
DELETE | 只是删除表中所有数据,对自增没有影响 |
TRUNCATE |
truncate 是将整个表删除掉,然后创建一个新的表自增的主键,重新从 1开始
|
### --- 测试1: delete 删除表中所有数据
-- 目前最后的主键值是 101
SELECT * FROM emp2;
-- delete 删除表中数据,对自增没有影响
DELETE FROM emp2;
-- 插入数据 查看主键
INSERT INTO emp2(ename,sex) VALUES('张百万','男');
INSERT INTO emp2(ename,sex) VALUES('艳秋','女');
### --- 测试2: truncate删除 表中数据
-- 使用 truncate 删除表中所有数据,
TRUNCATE TABLE emp2;
-- 插入数据 查看主键
INSERT INTO emp2(ename,sex) VALUES('张百万','男');
INSERT INTO emp2(ename,sex) VALUES('艳秋','女');
二、DELETE和TRUNCATE对自增长的影响
### --- sql语句
/*
DELETE和TRUNCATE对自增长的影响
delete 删除表中所有数据, 将表中的数据逐条删除.
truncate 删除表中的所有数据, 是将整个表删除,然后再创建一个结构相同表.
*/
-- delete 方式删除所有数据
DELETE FROM emp2; -- delete 删除对自增是没有影响
INSERT INTO emp2(ename,sex) VALUES('张百万','男'); -- 102
INSERT INTO emp2(ename,sex) VALUES('艳秋','女'); -- 103
-- truncate 删除所有数据
TRUNCATE TABLE emp2; -- 自增从1开始
INSERT INTO emp2(ename,sex) VALUES('张百万','男'); -- 1
INSERT INTO emp2(ename,sex) VALUES('艳秋','女'); -- 2