MYSQL:如何清空表中的数据(一张表和多张表)

2023-10-26

方法1:delete from 表名;

方法2:truncate table 表名;

比  较:
1> truncate 是整体删除 (速度较快),delete是逐条删除 (速度较慢)
2> truncate 不写服务器 log,delete 写服务器 log,也就是 truncate 效率比 delete高的原因
3> truncate 不激活trigger (触发器),但是会重置Identity (标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的 ID数。而 delete 删除以后,identity 依旧是接着被删除的最近的那一条记录ID加1后进行记录。如果只需删除表中的部分记录,只能使用 DELETE语句配合 where条件

        那么问题来了,如果某一个数据库中有很多张表,此时我想将该数据库中所有表中的数据全部删掉,该如何操作呢?

        解决该问题主要分两种情况,如果不需要保留数据库中所有表的结构,那么答案很简单,执行命令drop database 数据库名  即可达到目的。但是如果需要保留该数据库中所有表的结构,只想删除所有表中的数据,又该怎么解决呢?有人会说可以多执行几次truncate操作就OK啦,没错,多执行几次truncate确实可以达到目的,但是,如果要删除的数据库中有很多张表,几十张上百张表,执行上百次truncate操作显然不是好的办法?至此,就是本文要说讲到的办法了。
        删除的办法其实还是执行truncat方法,只是不需要每次手动的输入truncate命令进行删除。通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件中,然后执行脚本即可完成删除操作,并且保留了表结构。

        生成truncate命令的sql语句为:SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' into outfile '/tmp/truncate_test.sql';

        然后将生成的.sql脚本拷贝到当前文件夹下面:mv /tmp/truncate_test.sql $current_dir/

        然后执行.sql脚本将数据库中所有表中数据删除:source $current_dir/truncate_test.sql

        说明:

        在进行select....into outfile......操作时,会遇到报错的情况: MySQL server is running with the --secure-file-priv option so it cannot execute this statement,这个原因其实很简单,是因为在安装MySQL的时候限制了导入与导出的目录权限,只能在规定的目录下才能导入我们需要通过下面命令查看 secure-file-priv 当前的值是什么

show variables like '%secure%';我们可以看到value的值为

那么我们把导入的路径改为上面的值就可以了
=

打开文件:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MYSQL:如何清空表中的数据(一张表和多张表) 的相关文章

随机推荐

  • (基于Python的毕业设计)微博舆情分析系统(附源码+论文)

    大家好 我是岛上程序猿 感谢您阅读本文 欢迎一键三连哦 目录 一 项目简介 二 系统设计 2 1软件功能模块设计 2 2数据库设计 三 系统项目部分截图 3 1管理员功能模块 3 2热搜数据 3 3热搜 四 论文目录 五 部分核心代码 4
  • 共阳极数码管与共阴极数码管联合使用来循环显示数字00-99。

    使用两个分立式数码管分别连接在P0和P2端口上 实现数字从00 99的循环显示 与上篇文章一样先查询一下共阴极与共阳极数码管数字0到9的数码表 共阴极数码管0 9的数码表 code int SEG CODE1 0x3f 0x06 0x5b
  • vue.config配置多个地址跨域

    本博客是本人在开发过程中遇到问题所积累下的经验 在前端想要实现跨域 在前端使用接口的时候 如果需要使用来源不同的接口 可以在vue config配置多个跨域 例如下面例子中的两个配置 一个是局域网内的接口 一个是部署在外网上的接口 在使用时
  • C练题笔记之:Leetcode-662. 二叉树最大宽度

    题目 给你一棵二叉树的根节点 root 返回树的 最大宽度 树的 最大宽度 是所有层中最大的 宽度 每一层的 宽度 被定义为该层最左和最右的非空节点 即 两个端点 之间的长度 将这个二叉树视作与满二叉树结构相同 两端点间会出现一些延伸到这一
  • Ubuntu22.04安装opencv4并配置VsCode

    一 安装Opencv 第一步 下载opencv 下载地址 https github com opencv opencv 第二步 解压安装 unzip opencv 4 6 0zip 第三步 安装编译文件 sudo apt get insta
  • shell文本去重

    shell文本去重 1 单个文件去重 2 两个文件的交集 并集 求两个文件的并集 求两个文件的交集 求两个文件的差集 3 两个文件合并 上下合并 左右合并 4 多个文件合并去重 1 单个文件去重 参考 https blog csdn net
  • SVN客户端TortoiseSVN基本使用方法步骤-初人指南

    本文将讲述SVN客户端TortoiseSVN基本使用方法步骤 模拟两个客户端与服务器之间的关系 操作包括 SVN commit 提交 SVN checkout 检出 SVN Update 更新 如上图所示 工作模式是 客户端从服务器中SVN
  • 神经网络 专业术语解释(Step、Batch Size、Iteration、Epoch)

    目录 1 名词解释 2 换算关系 3 举例说明 1 名词解释 Step 步 训练模型的步数 遍历学习一次训练集数据所需要的Batch数量 跟iteration一样 Batch Size 批尺寸 计算梯度所需的样本数量 太小会导致效率低下 无
  • oracle生成uuid函数

    sys guid
  • 抖音自媒体平台上最容易上热门的7大领域,你知道吗?

    抖音覆盖的内容领域日益广泛 因此 运营者在入驻抖音平台的时候不能过于草率 不能单纯地根据个人偏好来确定账号的运营方向 本文将主要介绍在抖音平台上最容易上热门的7大领域 以此来帮助运营者更好地进行账号的定位 接下来运营喵就和大家分享下 1 搞
  • 机器人学重点知识点总结

    机器人学重点知识点总结 坐标转换与机械臂运动学 雅克比矩阵 机械臂逆向动力学 牛顿欧拉递推 机械臂正向动力学 运动轨迹生成 动力学轨迹跟踪控制 这篇博客主要用来记录一下现代机器人学里面比较基础也比较重要的一些知识点 所有内容均仅仅记录是什么
  • [蓝桥杯][2013年第四届真题]幸运数

    题目 题目链接 题解 两种方法 DFS 模拟 先讲大佬的DFS 再讲我的模拟 分别对应代码1和代码2 代码3是根据大佬代码改进的我的模拟 推荐代码1和代码3 从幸运数字3开始每次都将 通过幸运数字更新过的数组中当前幸运数字的下一个数字 作为
  • 一文搞懂线性回归和逻辑回归

    1 线性回归 Linear Regression 1 介绍 线性回归是机器学习中最基础 最经典的算法之一 它利用线性函数对一个或多个自变量和因变量之间关系进行建模 建模过程就是使用数据点来寻找最佳拟合线 线性回归分为两种类型 单变量线性回归
  • 【网络篇】第一篇——网络入门基础

    计算机网络背景 网络发展 认识 协议 初识网络 网络协议初始 协议分层 OSI七层模型 TCP IP五层 或四层 模型 网络传输基本流程 同局域网的两台主机通信 跨网络的两台主机通信 网络中的地址管理 认识IP地址 认识MAC地址 计算机网
  • win10主题更换_Win10桌面最全美化指南!(任务栏透明+dock栏+磁贴美化+壁纸)

    点点关注不迷路 先看成品 知乎视频 www zhihu com 其他历史桌面 这两个桌面都是动态桌面 我是分割线 目录 桌面归类 任务栏美化 Dock栏美化 心形磁贴美化 动态桌面 护眼软件 桌面插件 仿Mac美化 壁纸 我是分割线 桌面归
  • Python数据分析8-时间序列

    目录 8 1datetime模块 8 1 1datetime的构造 8 1 2数据转换 8 2时间序列基础 8 2 1时间序列构造 8 2 2索引与切片 8 3日期 8 3 1日期范围 8 3 2频率与移动 8 4时期 8 4 1时期基础
  • 什么是推荐系统?推荐系统类型、用例和应用

    推荐系统是机器学习的一类 它可使用数据来帮助预测 缩小范围 并找到人们在呈指数级增长的选项中寻找的内容 什么是推荐系统 推荐系统是一种人工智能或人工智能算法 通常与机器学习相关 使用大数据向消费者建议或推荐其他产品 这些推荐可以基于各种标准
  • 构建IoT系统必须的五项内容 (Page 3)

    本文译至 http japan zdnet com article 35076390 3 2 高度的分析实现 抽取出的高精度特征值适用于机器学习算法 从时间序列数据计算异常度 自动检查异常状况或变化点 图5 等 能应用于人眼难以判断的现象的
  • C++中如何进行txt文件的读入和写入

    大家可能大部分写代码都是在devc或者 vs里面直接输入数据 这一般常见于简单算法和数据的处理 但是一旦处理大数据的话 几百万 几千万 上亿个数据手打似乎不能轻易实现的 那么这篇文章我们来搞懂C 环境下如何进行io流读取txt文件 其实我们
  • MYSQL:如何清空表中的数据(一张表和多张表)

    方法1 delete from 表名 方法2 truncate table 表名 比 较 1 gt truncate 是整体删除 速度较快 delete是逐条删除 速度较慢 2 gt truncate 不写服务器 log delete 写服