转换sql文件的create table语句为drop table语句

 1 package com.csii.pweb.query.action;
 2
 3 import java.io.BufferedReader;
 4 import java.io.FileNotFoundException;
 5 import java.io.FileReader;
 6 import java.io.IOException;
 7 import java.util.ArrayList;
 8 import java.util.List;
 9
10
11 public class JavaFile {
12     public static void main(String[] args) {
13         try {
14             // read file content from file
15             StringBuffer sb= new StringBuffer("");
16
17             FileReader reader = new FileReader("D:/t/workflow.sql");
18             BufferedReader br = new BufferedReader(reader);
19
20             String str = null;
21             final String markStart = "CREATE TABLE";
22             List<String> tableNames = new ArrayList<String>();
23             while((str = br.readLine()) != null) {
24                 str = str.toUpperCase().trim(); //转为大写并去除两端空格
25                 if(str.startsWith(markStart) && !str.startsWith("--")) {    //非注释之建表语句
26                     str = str.substring(markStart.length()).replace(‘(‘, ‘ ‘);    //取表名
27                     tableNames.add("DROP TABLE " + str.trim()+";");
28 //                    System.out.println(str);
29                 }
30             }
31
32             br.close();
33             reader.close();
34             //倒序
35             for(int i=tableNames.size()-1; i>=0;i--) {
36                 String name = tableNames.get(i);
37                 sb.append(name).append("\n");
38             }
39             System.out.println("--------------start---------------");
40             System.out.println(sb);
41             System.out.println("--------------end---------------"+tableNames.size());
42
43             // write string to file
44 //            FileWriter writer = new FileWriter("c://test2.txt");
45 //            BufferedWriter bw = new BufferedWriter(writer);
46 //            bw.write(sb.toString());
47 //
48 //            bw.close();
49 //            writer.close();
50         }
51         catch(FileNotFoundException e) {
52             e.printStackTrace();
53         }
54         catch(IOException e) {
55             e.printStackTrace();
56         }
57     }
58 }

原文地址:https://www.cnblogs.com/listened/p/9457155.html

时间: 2024-11-03 22:18:16

转换sql文件的create table语句为drop table语句的相关文章

Mysql运行SQL文件 错误Incorrect table definition;there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

问题描述 想从服务器上DOWN下数据库.操作:先把数据库转存为SQL文件,然后在本地利用navicate运行SQL文件,出现错误信息: Incorrect table definition;there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause 解决思路 参考: http://www.cnblogs.com/joeylee/p/3877578.html 原因:TIME

创建Web数据库,用XAMPP的MySQL shell引入 .sql 文件

Chapter 08 : Creating  Your Web DatabaseDestination : set uo a MySQL database for use on a Web siteContents : [1] Creating a database (创建数据库)[2] Users and Privileges (用户和权限)[3] Introduction to the privilege system (权限系统的介绍)[4] Creating database table

SQL Server根据表或视图批量生成插入语句并BCP导出成文本

--声明变量 DECLARE @TableName VARCHAR(100),@RunStr VARCHAR(MAX),@RunRC VARCHAR(MAX),@FinalRun VARCHAR(MAX) --在master库创建数据载体,也可以建立在其他数据库,但一定要是实体表,因为BCP导出不支持临时表 IF OBJECT_ID('master.dbo.tempinsertstr') IS NOT NULL DROP TABLE master.dbo.tempinsertstr CREATE

批量执行SQL文件

原文:批量执行SQL文件 摘要:很多时候我们在做系统升级时需要将大量的.sql文件挨个执行,十分不方便.而且考虑到执行顺序和客服的操作方便性,能不能找到一种简单的方法来批量执行这些sql文件呢? 主要内容: 准备工作 利用osql/ocmd命令批量执行sql文件 使用master..xp_cmdshell存储过程调用osql/ocmd命令 总结 一.准备工作 既然是要批量执行sql文件,首先我们建立两个sql文件:1.sql和2.sql. 1.sql的内容: INSERT INTO dbo.Pr

Oracle10g 回收站及彻底删除table : drop table xx purge

drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除. 1.通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop [rename to <new_table_name>]; 将回收站里的表恢复为原名称

mysql drop table and purge

一.drop表 执行drop table xx 语句 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除. 通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句 flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop [rename to <new_tabl

MySQL DROP TABLE操作以及 DROP 大表时的注意事项

语法: 删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE] 可一次删除一张或多张表.需具有所删除表上的DROP权限. 表定义文件和数据文件均被移除.表被删除后表上的用户权限不会被自己主动删除. 參数里表中指定的表名不存在则报错,但对于存在的表仍会删除.可通过指定IF EXISTS阻止表不存在时引发的错误(此时对于不存在的表仅产生一个NOTE).

oracle数据库中drop table与purge使用实例

oracle 数据库中 drop table 与purge 实际示例: CREATE OR REPLACE PROCEDURE pro_droptable IS cursor cur is select table_name from user_tables where table_name like 'TEMPTABLE%'; drop_sql     varchar2(1000); table_number number; BEGIN SELECT COUNT(*) INTO table_n

怎么将oracle的sql文件转换成mysql的sql文件

将sql文件导入PowerDesigner中的方法(将oracle sql文件转换成mysql) 将xxxxxx.sql文件的数据库结构导入powerdesigner 的方法 步骤如下: 第一步:将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件. 第二步:在powerdesinger里找到 File >> Reverse Engineer >> Database ,如下图 图一,选择“share the DBMS definition”然后点击确定.注意