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

Posted listened

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换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("
");
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 }

 

以上是关于转换sql文件的create table语句为drop table语句的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式为 Django 中的给定模型生成 CREATE TABLE SQL 语句?

怎么用SQL语句CREATE TABLE的主键为“自动增加”

SQL 语句“CREATE TABLE TRIP...”中的语法错误

在 C# 中将 DataTable 转换为 SQL 的 CREATE TABLE + INSERT 脚本

Oracle中,为啥同样的SELECT查询语句,加了CREATE TABLE AS后速度更快了?

ACCESS里如何用SQL语句创建数据库和表