MYSQL5

2 阅读1分钟

>

DROP TABLE 表名称; -- 用于删除数据库中的现有表。 TRUNCATE TABLE 表名称; -- 用于删除表内的数据,但不删除表本身。

-- 删除现有表 Shippers:
DROP TABLE Shippers;
-- 删除现有表 Shippers 表内的数据,不删除表:
TRUNCATE TABLE Shippers;
  1. DROP TABLE 表名称

    • 这个命令用于删除指定的数据库表及其所有数据和结构。使用这个命令后,表及其所有数据将被永久删除,无法恢复。这通常用于彻底移除一个表,包括其定义和所有存储的数据。

    • 例如:

      DROP TABLE Shippers;
      

      这条命令会删除名为 Shippers 的表,以及表中的所有数据和结构定义。

  2. TRUNCATE TABLE 表名称

    • 这个命令用于删除表中的所有数据,但保留表结构本身。与 DROP TABLE 不同,TRUNCATE TABLE 通常更快,因为它不需要逐行删除数据,而是直接截断数据文件。此外,TRUNCATE TABLE 通常不能被回滚,但一些数据库系统提供了事务支持,允许在事务中使用 TRUNCATE TABLE 并可以回滚。

    • 例如:

      TRUNCATE TABLE Shippers;
      

      这条命令会删除 Shippers 表中的所有数据,但保留表的结构定义,即表的列、数据类型等信息仍然存在。

总结来说,DROP TABLE 用于彻底删除表及其数据,而 TRUNCATE TABLE 仅用于删除表中的数据,保留表结构。选择使用哪一个命令取决于你的具体需求,比如是否需要保留表结构,以及操作是否可以被回滚。