drop,truncate,delete区别

1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。

drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。

注意:truncate 不能删除行数据,要删就要把表清空。

3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存

以便进行进行回滚操作。

truncate与不带where的delete :只删除数据,而不删除表的结构(定义)

4、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。

如果要删除表定义及其数据,请使用 drop table 语句。  
    5、对于由foreign key约束引用的表,不能使用truncate table ,而应使用不带where子句的delete语句。由于truncate table 记录在日志中,所以它不能激活触发器。

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

7、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。

truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。

------------------------------------------------------------------------------------------------------------------------------------------

例子

drop table 表名称                         
truncate table 表名称                             
delete from 表名称 where 列名称 = 值

MYSQL数据库----删除命令相关推荐

  1. MySQL数据库备份命令

    原文参考:MySQL数据库备份的命令 - 司南 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql ...

  2. MySQL 数据库常用命令—where like union 排序 分组 连接

    引言 本篇博客对 MySQL 数据库的一些命令进行分享. where 语句 基本语法规则: select field1, field2,...fieldN from table_name1, tabl ...

  3. MySQL 数据库常用命令小结

    MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...

  4. 备份MySQL数据库的命令

    这篇文章主要介绍了mysql数据库备份常用语句,包括数据库压缩备份.备份多个MySQL数据库.备份多个MySQL数据库.将数据库转移到新服务器等语句 备份MySQL数据库的命令 代码如下: mysql ...

  5. mysql数据库压缩备份_MySQL数据库之mysql数据库备份命令分享(mysql压缩数据库备份)...

    本文主要向大家介绍了MySQL数据库之mysql数据库备份命令分享(mysql压缩数据库备份) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 备份MySQL数据库的命令 复制代 ...

  6. mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法

    binlog日志简介: binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间. b ...

  7. Mysql数据库常用命令,mysql速学实用教程。

    说明:对mysql数据库常用命令的整理 适用:mysql5.5+ 一.Mysql的基本操作命令 查看所有数据库 show databases; 使用数据库 use mysql; 显示数据库中的表 sh ...

  8. mysql数据库备份与恢复命令

    mysqldump -h主机名  -P端口 -u用户名 -p密码 [--databases] 数据库名(可以是多个,用空格分割) > 文件名.sql 备份MySQL数据库的命令(备份脚本中不包含 ...

  9. MySQL数据库使用命令行备份|MySQL数据库备份命令

    例如: 数据库地址:127.0.0.1 数据库用户名:root 数据库密码:pass 数据库名称:myweb 备份数据库到D盘跟目录mysqldump -h127.0.0.1 -uroot -ppas ...

最新文章

  1. jquery 向上滚动【四】个人认为好一些,哈
  2. Ionic中自定义公共模块以及在自定义模块中使用ionic内置模块
  3. rocketmq 有哪些监控工具_Kafka和RocketMQ底层存储之那些你不知道的事
  4. java聊天室源工程文件_socket实现java聊天室,公告等功能,前后端分离(附源码)...
  5. kubernetes视频教程笔记 (6)-kubernetes集群安装
  6. windows配置java环境变量
  7. AD15怎么导入图片做丝印 或者做 LOGO
  8. Android开发环境的安装与配置(两种方法)
  9. 在Windows Server 2003企业版下让移动硬盘自动显示盘符
  10. 小程序轮播图带数字序号
  11. 昊鼎王五:高级运维工程师的成长之路,总有一款适合你^_^
  12. 五一入哪个牌子蓝牙耳机好?无线主动降噪蓝牙耳机排行榜
  13. 基于arduino、ros手柄控制机械臂
  14. 实时监控Mysql等数据库变化_进行数据同步_了解Debezium_--Debezium工作笔记001
  15. illustrator字体设计教程 刘兵克Illustratorai字体设计日记
  16. 传感器检测技术及仪表笔记02第二章 检测系统的基本特性
  17. 文本表达进击:从BERT-flow到BERT-whitening、SimCSE
  18. RationalDMIS 2020 “拟合坐标系”功能
  19. jdbc字符串拼接单引号和双引号问题
  20. 工作流管理系统的概念介绍

热门文章

  1. AttributeError: 'NoneType' object has no attribute 'sc' 解决方法!
  2. java设计模式之状态机模式
  3. GitHub如何使用
  4. 融媒体网络营销WSEO案例分享:两天内与大型网站有相同排名
  5. 高等数学——多元函数的极值的条件
  6. Bean对象的拷贝方法BeanCopier和BeanUtils
  7. android studio开发rtk,Android安卓平板电脑
  8. GIT回顾(持续更新)
  9. C/C++面试题-1
  10. svn提交代码报错:svn: E175002: Unexpected HTTP status 502 ‘Bad Gateway‘