MYSQL清空表和截断表问题
目录
- MYSQL清空表和截断表
- 清空表:delete from users;
- 截断表:truncate table users;
- MYSQL清空表数据的注意事项
- 两者比较
- 总结
MYSQL清空表和截断表
清空表和截断表
清空表:delete from users;
清空表只是清空表中的逻辑数据,但是物理数据不清除,如主键值、索引等不被清除,还是原来的值。
截断表:truncate table users;
截断表可以用于删除表中 的所有数据。截断表命令还会回收所有索引的分配页。
截断表的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快。
delete(删除)一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志;而truncate (截断)表则回收整个数据页,只记录很少的日志项。delete(删除)和truncate(截断)都会回收被数据占用的空间,以及相关的索引。只有表的 拥有者可以截断表。
另外,truncate表之后,如果有自动主键的话,会恢复成默认值。
MYSQL清空表数据的注意事项
清空表数据 可用的两种操作:
delete from 表名; truncate table 表名;
两者比较
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。
效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
我在用delete from 进行删除时发现报错了,说时safe updae 模式什么的,后来查看其他小伙伴的博客,发现了解决办法:
只需执行 SET SQL_SAFE_UPDATES = 0; 即可。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
mysql清空表数据的两种方式和区别解析
在MySQL中删除数据有两种方式: truncate(截短)属于粗暴型的清空 delete属于精细化的删除 删除操作 如果你需要清空表里的所有数据,下面两种均可: delete from tablename; truncate table tablename; 而如果你只是删除一部分数据,就只能使用delete: delete from tablename where case1 and case2; 区别 在精细化的删除部分数据时,只能使用delete. 而清空所有表数据时,两者均可,此时这两
-
MySQL清空数据表的方法实例与分析
MySQL数据库中,如果我们想清空数据表(删除数据表中所有内容)的话,可以通过下面两个语句来实现: truncate table table_n; delete from table_n; 实例 我们先通过实例看下通过这两种方式清空数据库的过程和结果 #delete演示 mysql> create table testforde( -> number int not null auto_increment, -> name varchar(20) not null, -> prim
-
mysql表的清空、删除和修改操作详解
一.清除mysql表中数据 delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容. 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据. delete的效果有点像将mysql表中所有记录一条一条删除到删完, 而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表.
-
MYSQL清空表和截断表问题
目录 MYSQL清空表和截断表 清空表:delete from users: 截断表:truncate table users: MYSQL清空表数据的注意事项 两者比较 总结 MYSQL清空表和截断表 清空表和截断表 清空表:delete from users: 清空表只是清空表中的逻辑数据,但是物理数据不清除,如主键值.索引等不被清除,还是原来的值. 截断表:truncate table users: 截断表可以用于删除表中 的所有数据.截断表命令还会回收所有索引的分配页. 截断表的执行速度
-
MySQL删除表数据与MySQL清空表命令的3种方法浅析
目录 一.MySQL清空表数据命令:truncate 二.MySQL删除表命令:drop 三.MySQL清空数据表内容的语法:delete 补充:MySQL删除表操作delete.truncate.drop的区别 总结 一.MySQL清空表数据命令:truncate SQL语法: truncate table 表名 注意: 不能与where一起使用. truncate删除数据后是不可以rollback的. truncate删除数据后会重置Identity(标识列.自增字段),相当于自增列会被置为
-
oracle中截断表的使用介绍
在Oracle中如果删除了表中的某一条数据,还可以通过回滚操作(rollback)进行回滚,假如想清空一张 表的数据,但是又不想使其能进行回滚操作,就可以立刻释放资源,这时就需要使用截断表了.它的主要功能就是彻底删除数据,使其不能进行回滚.这里我打个比方大家就立刻能明了它的作用.大家众所周知,当我们在自己的PC(personcomputer)上删除某一个文件,它并没有彻底删除而是进入了回收站,你要在回收站中再将其删除才算彻底清除.截断表就相当于直接将数据从pc上删除,而不会放入回收站. 截断表格
-
MySQL 如何限制一张表的记录数
目录 一.触发器解决方案 二.分区表解决方案 三.通用表空间解决方案 关于MySQL 如何限制一张表的记录数,这没有一个简化的答案,比如执行一条命令或者说简单设置一个参数都不能完美解决.接下来我给出一些可选解决方案. 对数据库来讲,一般问题的解决方案无非有两种,一种是在应用端:另外一种是在数据库端. 首先是在数据库端(假设表硬性限制为1W条记录): 一.触发器解决方案 触发器的思路很简单,每次插入新记录前,检查表记录数是否到达限定数量,数量未到,继续插入:数量达到,先插入一条新记录,再删除最老的
-
MySQL中基本的多表连接查询教程
一.多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用',' 如: 由于其返回的结果为被连接的两个数据表的乘积,因此当有WHERE, ON或USING条件的时候一般不建议使用,因为当数据表项目太多的时候,会非常慢.一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN 2. 内连接INNER JOIN 在MySQL中把I SELECT * FROM table1 CROSS JOIN tabl
-
MySql创建带解释的表及给表和字段加注释的实现代码
1 创建带解释的表 CREATE TABLE groups( gid INT PRIMARY KEY AUTO_INCREMENT COMMENT '设置主键自增', gname VARCHAR(200) COMMENT '列注释' ) COMMENT='表注释'; 2 修改现有列,加上解释 alter table test_data modify column test_desc int comment 'xxxx'; 3 修改现有表,加上解释 ALTER TABLE test_data
-
MySQL Cluster如何创建磁盘表方法解读
一.概念 MySQL Cluster采用一系列的Disk Data objects来实现磁盘表. Tablespaces:作用是作为其他Disk Data objects的容器. Undo log files:存储事务进行回滚需要的信息,一个或者多个undo log files组成一个log files group,最后,该log file group关联到一个tablespaces. Data files:作用是存储表中的数据,data file直接关联到tablespaces. 在每一个数据
-
MySQL实现快速删除所有表而不删除数据库的方法
本文实例讲述了MySQL实现快速删除所有表而不删除数据库的方法.分享给大家供大家参考,具体如下: 如果直接使用phpmyadmin操作的话肯定非常简单,勾选数据表->点击删除->点击确定,操作完毕! 这里介绍一下快速删除数据表的SQL命令操作方法. 删除表的命令: drop table 表名; 如果有200张表,执行200次,想想就不想动手了. 下面提供一个使用information_schema库的方案: 复制代码 代码如下: SELECT CONCAT('drop table ',tabl
随机推荐
- VMware设置桥接上网(图文详解)
- AngularJS 2.0新特性有哪些
- MVC页面之间参数传递解析
- JS控制静态页面传递参数并获取参数应用
- Bootstrap中定制LESS-颜色及导航条(推荐)
- C#中把日志导出到txt文本的简单实例
- 解密ThinkPHP3.1.2版本之模块和操作映射
- 在Python的Django框架中加载模版的方法
- 源代码快速定位工具-qwandry使用指南
- Ruby设计模式编程中对外观模式的应用实例分析
- 浅析jQuery事件之on()方法绑定多个选择器,多个事件
- Android编程之ActionBar Tabs用法实例分析
- javascript 获取表单file全路径
- IntelliJ IDEA 设置代码提示或自动补全的快捷键功能
- 你还在 Select * 吗?
- python使用adbapi实现MySQL数据库的异步存储
- Kotlin中常见内联扩展函数的使用方法教程
- spring装配bean的3种方式总结
- 使用mmap实现大文件的复制(单进程和多进程)
- python计算波峰波谷值的方法(极值点)