码迷,mamicode.com
首页 > 数据库 > 详细

MySQL学习——delete(truncate)

时间:2020-03-09 19:30:01      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:计数器   test   int   class   har   key   let   from   sql   

3.5、删除

/*********************************************************
第三章 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命令的区别

  • 相同点:都能删除数据,都不会删除表结构
  • 不同点:
    • TRUNCATE 重新设置自增列,计数器会归零
    • 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=utf8


INSERT INTO `test`(`coll`) VALUES('1'),('2'),('3');


DELETE FROM `test`  -- 不会影响自增
TRUNCATE TABLE `test` -- 自增会归零

了解即可:==delete删除的问题==,重启数据库(net start mysql),出现以下现象

  • InnoDB 自增列会从1开始(数据是存在内存当中的,断点即失)
  • MyISAM 继续从上一个自增量开始(数据存在文件中的,不会丢失)
-- 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=utf8


INSERT 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=utf8

INSERT INTO `test_MyISAM`(`coll`) VALUES('1'),('2'),('3');

DELETE FROM `test_MyISAM`  -- 不会影响自增

DROP TABLE IF EXISTS `test_myisam`

MySQL学习——delete(truncate)

标签:计数器   test   int   class   har   key   let   from   sql   

原文地址:https://www.cnblogs.com/ferryboat-huan/p/12450452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!