19991127ll

MySQL删除数据库的三种方式

 

转载于:

作者:弯月五星

网址链接:https://zhuanlan.zhihu.com/p/89113378

 

第一种 使用delete 语句

特点:

  delete 属于数据库操纵语言DML,表示删除表中的数据,

  删除过程是每次从表中删除一行,并把该行删除操作作为事务记录在日志中保存

  可以配合事件(transaction)和 回滚(rollback)找回数据,且自增不会被重置

  delete 既可以对table也可以对view

  可以全部删除,也可以按条件删除

语法:

-- 删除表中全部数据
 delete from 表名 
-- 按条件删除
 delete from 表名 where 条件

第二种 使用truncate 语句

特点:

  truncate 属于数据库定义语言DDL,表示删除表中所有数据,DDL操作是隐性提交的!不能rollback  

  truncate一次性的从表中删除所有数据,不会保存到日志中,相当于直接删除整个表,再重新创建一个一模一样的表

  使用truncate 删除的数据不能恢复

  truncate 只能对table,执行速度快

语法:

-- 删除表中所有数据且不可恢复
 truncate from 表名

第三种 使用 drop 语句

特点:

  drop 属于数据库定义语言DDL,表示删除表, 也可以用来删除数据库,删除表格中的索引。

  执行速度,一般来说: drop> truncate > delete。

语法:

--  删除 表
 drop table 表名 
-- 删除数据库
 drop database 数据库名   
-- 删除索引 
<!--用于 MS Access 的 DROP INDEX 语法:--> 
DROP INDEX index_name ON table_name 
 <!--用于 MS SQL Server 的 DROP INDEX 语法-->
 DROP INDEX table_name.index_name  
<!--用于 DB2/Oracle 的 DROP INDEX 语法:--> 
DROP INDEX index_name  
<!--用于 MySQL 的 DROP INDEX 语法--> 
ALTER TABLE table_name DROP INDEX index_name

分类:

技术点:

相关文章: