一、起因
无意中发现了一个有趣的操作,于是就记录下来;

二、经过
请观察以下代码:

package com.liuzm;import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;public class RunTimeTest {public static void main(String[] args)  {String[] sb = new String[3];sb[0] = "cmd";sb[1] = "/c";sb[2] = new StringBuilder("mysql").append(" -u").append("root").append(" -p").append("root").append(" -h").append("127.0.0.1").append(" -P").append("3306").append(" --default-character-set=UTF8").toString();Process process = null;try {process = Runtime.getRuntime().exec(sb);} catch (IOException e) {e.printStackTrace();}OutputStream os = process.getOutputStream();String switchCmd = new StringBuilder("use ").append("my_test").toString();//获取truncate的命令语句String truncateCmd = new StringBuilder("TRUNCATE TABLE ").append("person").toString();OutputStreamWriter writer = new OutputStreamWriter(os);try {writer.write(switchCmd+ System.getProperty("line.separator") +truncateCmd);writer.flush();writer.close();os.close();int truncateRes = process.waitFor();if(truncateRes == 0){System.out.println("------表数据清理结束------");} else {System.out.println("表数据清理失败,truncateProcess.waitFor()返回值为:" + truncateRes);}} catch (InterruptedException | IOException e) {e.printStackTrace();}}
}

这是我模拟的一段代码,拿来直接可以用,记得改一下用户名和密码;如果在Linux环境下请把改为sb[1] = “-c”;先看一下这几个重载方法:

在看一下源码:

这几个方法实现都是exec(String command, String[] envp, File dir),可以回忆一下线程池;点进去看一下:

平时用的很少,就不往下看了;大概了解一下即可;

三、使用sql清空
表数据:

mapper接口

int TrancateTable();

mapper.xml

    <update id="TrancateTable">truncate table user_table;</update>

测试类

   @Testpublic void test4(){userMapper.TrancateTable();}

控制台输出

==>  Preparing: truncate table user_table;
==> Parameters:
<==    Updates: 0

数据库

关于java清空表数据相关推荐

  1. php oracle 删除 数据,oracle怎么清空表数据

    oracle清空表数据的方法:可以通过使用[delete table_name;]或[Truncate [table] table_name;]语句来清空整个表数据. 本文操作环境:windows10 ...

  2. AJAX for Java简单表数据查询实例

    AJAX for Java简单表数据查询实例<?XML:NAMESPACE PREFIX = O /> AJAX WebShop 3对Java开发具有良好的支持,同时也提供了各种层次的后台 ...

  3. Oracle批量清空表数据

    清空表数据有两种方式,delete from tableName; truncate table tableName; 第二种方式更加高效,直接删除,不能回滚. 如果要批量执行删除脚本,表很多的时候, ...

  4. 使用达思SQL数据库修复软件导出数据库时的接收数据的数据库如何清空表数据?...

    清空表数据,保留视图,存储过程,函数,以及保留表约束.触发器等等,可以给故障数据库预留一个好的躯壳,把坏库数据导入此躯壳.对用友.金蝶等数据库恢复有时候能达到好的效果. 清除表数据有两种方法: 一种用 ...

  5. 使用达思SQL数据库修复软件导出数据库时的接收数据的数据库如何清空表数据?

    清空表数据,保留视图,存储过程,函数,以及保留表约束.触发器等等,可以给故障数据库预留一个好的躯壳,把坏库数据导入此躯壳.对用友.金蝶等数据库恢复有时候能达到好的效果. 清除表数据有两种方法: 一种用 ...

  6. sql删除或清空表数据

    sql删除或清空表数据 一.sql清空表数据的三种方式: 1.truncate–删除所有数据,保留表结构,不能撤销还原 2.delete–是逐行删除速度极慢,不适合大量数据删除 3.drop–删除表, ...

  7. Mysql清空表数据,id从1开始

    Mysql清空表数据,id从1开始 TRUNCATE TABLE table_name

  8. MySQL清空表数据

    清空表数据一共有三种方式 1 .truncate (速度很快) 自增字段清空从1开始 全表清空首选 2.drop 直接删表-啥都没了啥都没了 - - - - 3.delete 速度慢的一批 自增字段不 ...

  9. HBase清空表数据

    一.清除之前检查 1.表的region分配情况: 2.表的大小(grafana可以看到): 二.清除之前备份 hbase(main):001:0> disable 'gx_rpt:msg_pus ...

最新文章

  1. AIFramework框架Jittor特性(上)
  2. [企业化NET]Window Server 2008 R2[3]-SVN 服务端 和 客户端 基本使用
  3. [JOISC2014]ストラップ
  4. xp下msn8.5无法安装的解决办法
  5. 【jQuery】复选框的全选、反选,推断哪些复选框被选中
  6. Microsoft Azure News(4) Azure新D系列虚拟机上线
  7. 【终极方法】This method must return a result of type boolean
  8. uctools.php,discuz 论坛UCenter无法登录,闪退的终极8种解决办法
  9. leetcode551. 学生出勤记录 I
  10. Golang生成C动态库.so和静态库.a
  11. Know more about _in_memory_undo
  12. 由BNF解释如何用递归表示循环
  13. 前端了解的简要php
  14. mysql中DateTime、Date、Time、TimeStamp区别
  15. oracle和mysql建表语句的区别_mysql和oracle建表语句的区别
  16. 如何听清楚、说明白--《结构思考力》
  17. 基于RV1126 Video分析-----驱动各模块总览
  18. Node.js概述及编程基础
  19. 线性规划在MATLAB中的表示,Matlab在线性规划中的应用
  20. 草料二维码--在线二维码生成器

热门文章

  1. Win10离线安装.net framework 3.5(错误:0x8024402c DISM失败解决方案)
  2. 金融基础知识(二):金融衍生品
  3. 【合集】云栖大会珍贵技术资料:20+覆盖容器技术、智能工业、大数据、开源数据库等(下)...
  4. BOM:window对象的方法之setInterval()定时器和停止setInterval()定时器
  5. Lucene(8_2_0)核心API学习 之 TokenStream(一)
  6. Windows下LDAP服务安装与使用
  7. bzoj4976 宝石镶嵌
  8. 树的同构 (25分)
  9. UVA1587 盒子 Box
  10. 《微图4.0》新版发布