Delete

Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。

删除某一行:Delete from 数据表名称 where 列名称=值;

删除所有行:Delete * from 数据表名称

Drop

Drop :删除数据表或数据库,或删除数据表字段。

删除数据库:drop database 数据库名称

删除数据表:(表的结构、属性、索引也会被删除)

use 数据库名称

drop table 数据表1名称,数据表2名称

删除数据表字段(列):

use 数据库名称

alter table 数据表名称

drop column 字段名(列名称)

Truncate

Truncate:删除数据表中的数据(仅数据表中的数据,不删除表)。

truncate table 数据表名称

“ TRUNCATE TABLE语句是一种快速、无日志记录的方法。TRUNCATE TABLE语句与不含有 WHERE 子句的 DELETE 语句在功能上相同。但是,TRUNCATE TABLE语句速度更快,并且使用更少的系统资源和事务日志资源。”

比较

删除数据的速度,一般来说: drop> truncate > delete

“与 DELETE 语句相比,TRUNCATE TABLE语句具有以下优点:所用的事务日志空间较少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据,并且在事务日志中只记录页释放。使用的锁通常较少。当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。TRUNCATE TABLE 始终锁定表和页,而不是锁定各行。如无例外,在表中不会留有任何页。

执行 DELETE 语句后,表仍会包含空页。例如,必须至少使用一个排他 (LCK_M_X) 表锁,才能释放堆中的空表。如果执行删除操作时没有使用表锁,表(堆)中将包含许多空页。对于索引,删除操作会留下一些空页,尽管这些页会通过后台清除进程迅速释放。

与 DELETE 语句相同,使用 TRUNCATE TABLE语句清空的表的定义与其索引和其他关联对象一起保留在数据库中。

详解数据库三种删除方法: delete drop truncate的更多相关文章

  1. StringBuilder的三种删除方法比较

    分别用一千万次循环来比较StringBuilder的三种删除方法所用时间 未避免偶然性,再循环一百次来比较总时间 --主类 public class StringBuilderRemove { pub ...

  2. yield关键字详解与三种用法

    本篇文章比较硬核, 适合有一定Python基础的读者阅读, 如果您对Python还不甚了解可以先关注我哦, 我会持续更新Python技术文章 yield详解 yield与return相同每次调用都会返 ...

  3. Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)

    PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式.PHP运行目前为止主要有三种方式: a.以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache ...

  4. sql 删除表格delete drop truncate 区别(转)

    (1)   DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作.TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把 ...

  5. 0108MySQL集群搭建详解(三种结点分离)

    转自http://blog.csdn.net/yang1982_0907/article/details/20716845,感谢博主 本文将搭建一个最简化的MySQL Cluster系统,配置方法中的 ...

  6. MySQL集群搭建详解(三种结点分离)

    本文将搭建一个最简化的MySQL Cluster系统,配置方法中的所有命令都是以root账户运行.这个MySQL Cluster包含一个管理结点.两个数据结点.两个SQL结点,这五个结点会分别安装在五 ...

  7. 006 列表的三种删除方法 remove,pop,del

    先定义一个列表: number=[,'changhao','常浩',5.2] . remove(): number.remove('changhao')---括号内是要删除的单一值 . pop(): ...

  8. 详解django三种文件下载方式

    推荐使用FileResponse,从源码中可以看出FileResponse是StreamingHttpResponse的子类,内部使用迭代器进行数据流传输. 在实际的项目中很多时候需要用到下载功能,如 ...

  9. iOS中 三种随机数方法详解

    ios 有如下三种随机数方法: //第一种 srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; //第二种 srandom(t ...

随机推荐

  1. linux_16

    对常用I/O模型进行比较说明 nginx中的模块分类及常见核心模块有哪些 描述nginx中worker_processes.worker_cpu_affinity.worker_rlimit_nofi ...

  2. iOS模拟弱网

    iOS平台: 首先需要苹果手机开启开发者选项,方法是手机连接到MacOS上启动Xcode. 通过自带的开发者选项 >Network Link Conditioner, 即可简单的模拟各种速度的网 ...

  3. weblogic12c安装笔记

    weblogic12c安装笔记 1.创建wls用户 useradd wls 2.切换到wls用户 su - wls 3.在/home/wls/创建files.jdk1.8.patch.bao目录 mk ...

  4. Solution -「CF 793G」Oleg and Chess

    \(\mathcal{Description}\)   Link.   给一个 \(n\times n\) 的棋盘,其中 \(q\) 个互不重叠的子矩阵被禁止放棋.问最多能放多少个互不能攻击的车.   ...

  5. HashMap(1.8)源码学习

    一.HashMap介绍 1.哈希表(hash table) 在哈希表中进行添加,删除,查找等操作,时间复杂度为O(1) 存储位置 = f(关键字) 其中,这个函数f一般称为哈希函数,这个函数的设计好坏 ...

  6. Java在算法题中的输入问题

    Java在算法题中的输入问题 在写算法题的时候,经常因为数据的输入问题而导致卡壳,其中最常见的就是数据输入无法结束. 1.给定范围,确定输入几个数据 直接使用普通的Scanner输入数据范围,然后使用 ...

  7. 关于WebStorm 破解

    建议资金宽裕,支持正版 2017.2.27更新 选择"license server" 输入:http://idea.imsxm.com/ 2016.2.2 版本的破解方式: 安装以 ...

  8. Selenium自动化测试面试题合集

    1.什么是自动化测试.自动化测试的优势是什么? 通过工具或脚本代替手工测试执行过程的测试都叫自动化测试. 自动化测试的优势: 1.减少回归测试成本 2.减少兼容性测试成本 3.提高测试反馈速度 4.提 ...

  9. BugKu-Misc-简单取证1

    下载文件压缩包,解压得到文件夹config,根据题目得知为取证,使用工具mimikatz, github地址:https://github.com/ParrotSec/mimikatz 将文件夹con ...

  10. 小甲鱼 python——第一课作业!

    0:  python是脚本语言把?虽然不是很清楚什么是脚本语言就是了.复制一下: 脚本语言(英语:Scripting language)是为了缩短传统的"编写.编译.链接.运行"( ...