美文网首页
SQL:DROP、DELETE、TRUNCATE三个删除语句的不

SQL:DROP、DELETE、TRUNCATE三个删除语句的不

作者: Libro_kkkk | 来源:发表于2021-02-07 15:55 被阅读0次

    我们首先复制出三个一模一样的表:

    CREATE TABLE test1 as SELECT * FROM `2017-Q1`;

    CREATE TABLE test2 as SELECT * FROM `2017-Q1`;

    CREATE TABLE test3 as SELECT * FROM `2017-Q1`;

    然后来看一下表中的大概内容,三张表的内容是一模一样的:

    接下来我们来比较三个删除语句的不同。

    1) DROP TABLE test1;

    此时整张表都被删除了,数据库中没有了test1这张表,也就是说drop是删除表结构和表数据;

    2) DELETE FROM test2;

    表结构依然保存,数据全部删除,当然delete后面是可以加where语句删除特定的行的,删除整张表内容的时间是0.551s;

    3) TRUNCATE TABLE test3;

    表结构依然保存,数据全部删除,这个语句只能用来清空表,不能删除指定行,删除整张表内容的时间是0.016s,在清空表的效率上比delete更好;

    总结:1.truncate和drop语句的写法相同都是后面加 table  表名;delete要加from 表名;

    2.drop删除表结构和表内容;delete和truncate只删除表内容,保留表结构;

    3.delete后面可以加where语句删除指定行,不加则可以实现truncate的删除整个内容的功能,,但是执行效率较低。

    相关文章

      网友评论

          本文标题:SQL:DROP、DELETE、TRUNCATE三个删除语句的不

          本文链接:https://www.haomeiwen.com/subject/akpztltx.html