poi+jdbc实现从数据库中导出表的数据字典结构(单个sheet和多个sheet供你选择),并且生成excel文档,作者:vipyhd

来源:互联网 发布:linux打包文件 编辑:程序博客网 时间:2024/05/21 22:44

简介:本人之所以要开发这个小小的工具是为了我们在不用为了写文档的时候去手动去弄表的数据字典了

第一步:java工程所需要的jar如下:



第二步:简单编写一个jdbc连接数据库的类

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * @author Administrator * 没有任何设计模式的简易版的oracle数据库连接类 *  * */public class ConnectionOracle {//数据库连接 需要的参数 String sd = "oracle.jdbc.driver.OracleDriver";String sc = "jdbc:oracle:thin:@10.72.123.127:1521:cis1";String userName = "host";String password = "host";Connection con = null;Statement stmt = null;ResultSet rs = null;public ConnectionOracle(){try {Class.forName(sd);} catch (ClassNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();System.err.println(e1.getMessage()+"数据库连接问题");}}public ResultSet executeQuery(String sql) throws SQLException{con = DriverManager.getConnection(sc, userName, password);Statement stmt = con.createStatement();rs = stmt.executeQuery(sql);return rs;}public void executeUpdate(String sql) throws SQLException{con = DriverManager.getConnection(sc, userName, password);Statement stmt = con.createStatement();stmt.executeUpdate(sql);}public void close() throws SQLException{if (rs != null)rs.close();if (stmt != null)stmt.close();if (con != null)con.close();}/** * @param args * 测试 oracle数据连接是否联通 */public static void main(String[] args) {}}
第三步:根据poi的api接口编写生成excel逻辑

所有表数据字典存储到一个sheet页里面

import java.io.File;import java.io.FileOutputStream;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.Region;/** * @author vipyhd * */public class DataToExcel {public static void main(String[] args) {String result = "";List listAll = new ArrayList();System.out.println("正在读取数据库中所有的表");try {//获取的是数据库中的表名字,进而封装到list容器里面List tableList = getTableList();System.out.println("数据库表读取完成");for (int i = 0; i < tableList.size(); i++) {String[] strings = (String[]) tableList.get(i);String tableName = strings[0].toString();List list = new ArrayList();list.add(tableName);list.add(getStructOfTable(tableName));System.out.println("正在生成表" + tableName + "的结构");listAll.add(list);}result = TableStructInfoToExcel(listAll, "D:");System.out.println("数据库中表结构导入已完成");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();File file = new File(e.getMessage().toString());if (file.exists()) {file.delete();}}System.out.println(result);// showView(list);}/** *  * 获取数据库中所有的表 *  * @return */public static List getTableList() {//String sql = "select object_name From user_objects Where object_type='TABLE'"; //DB2//String sql = "SELECT table_name FROM USER_TABLES";String sql = "SELECT T.TABLE_NAME\n" +"  FROM USER_TABLES T\n" + " WHERE T.TABLE_NAME NOT IN (SELECT T.TABLE_NAME\n" + "                              FROM USER_TABLES T\n" + "                             WHERE T.TABLE_NAME LIKE 'TEMP%'\n" + "                                OR T.TABLE_NAME LIKE '%BAK%'\n" + "                                OR T.TABLE_NAME LIKE 'D%'\n" + "                                OR T.TABLE_NAME LIKE 'CREDIT_%'\n" + "                                OR T.TABLE_NAME LIKE 'BJ%'\n" + "                                OR T.TABLE_NAME LIKE 'ATM%'\n" + "                                OR T.TABLE_NAME LIKE 'B%'\n" + "                                OR T.TABLE_NAME LIKE 'TMP%'\n" + "                                OR T.TABLE_NAME LIKE 'TEST%'\n" + "                                OR T.TABLE_NAME LIKE 'A%'\n" + "                                OR T.TABLE_NAME LIKE '%TEMP'\n" + "                                OR T.TABLE_NAME LIKE '%BACK'\n" + "                                OR T.TABLE_NAME LIKE '%20070202'\n" + "                                OR T.TABLE_NAME LIKE '%1231'\n" + "                                OR T.TABLE_NAME LIKE '%20081017'\n" + "                                OR T.TABLE_NAME LIKE '%TMP'\n" + "                                OR T.TABLE_NAME LIKE '%1%'\n" + "                                OR T.TABLE_NAME LIKE '%MD'\n" + "                                OR T.TABLE_NAME LIKE 'E%'\n" + "                                OR T.TABLE_NAME LIKE 'F%'\n" + "                                OR T.TABLE_NAME LIKE 'G%'\n" + "                                OR T.TABLE_NAME LIKE 'H%'\n" + "                                OR T.TABLE_NAME LIKE 'Q%'\n" + "                                OR T.TABLE_NAME LIKE 'SDD%'\n" + "                                OR T.TABLE_NAME LIKE 'V%'\n" + "                                OR T.TABLE_NAME LIKE 'W%'\n" + "                                OR T.TABLE_NAME LIKE 'Z%'\n" + "                                OR T.TABLE_NAME LIKE 'SDB%'\n" + "                                OR T.TABLE_NAME LIKE 'MD%'\n" + "                                OR T.TABLE_NAME LIKE 'STAGE%'\n" + "                                OR T.TABLE_NAME LIKE 'P%'\n" + "                                OR T.TABLE_NAME LIKE 'J%'\n" + "                                OR T.TABLE_NAME LIKE 'TRANS%'\n" + "                                OR T.TABLE_NAME LIKE 'XSF%'\n" + "                                OR T.TABLE_NAME LIKE 'MIGR%'\n" + "                                OR T.TABLE_NAME LIKE 'MIGRATION%'\n" + "                                OR T.TABLE_NAME LIKE 'S%'\n" + "                                OR T.TABLE_NAME LIKE 'O%'\n" + "                                OR T.TABLE_NAME LIKE 'CONFIG%'\n" + "                                OR T.TABLE_NAME LIKE 'MANUFACTURER%'\n" + "                                OR T.TABLE_NAME LIKE 'OPINION%'\n" + "                                OR T.TABLE_NAME LIKE 'TOOLS%'\n" + "                                OR T.TABLE_NAME LIKE 'd%'\n" + "                                OR T.TABLE_NAME LIKE 'TB%'\n" + "                                OR T.TABLE_NAME LIKE 'CUSTOMER%'\n" + "                                OR T.TABLE_NAME LIKE 'R%'\n" + "                                OR T.TABLE_NAME LIKE 'TIME%'\n" + "\n" + "                            )";return getResult(sql, 1);}public static List getStructOfTable(String tableName) {//DB2//String sql = "SELECT u.column_name,u.data_type,u.data_length,u.data_precision,u.data_Scale,u.nullable,u.data_default,c.comments FROM user_tab_columns u,user_col_comments c"//+////" WHERE u.table_name='"//+ tableName//+ "' and u.table_name=c.table_name and c.column_name=u.column_name";String sql = "select t.COLUMN_ID 序号 , t.TABLE_NAME 表名 ,t.COLUMN_NAME 字段名 ,t.DATA_TYPE 类型 ,t. DATA_LENGTH 长度 , t.DATA_PRECISION,\n" +"       t.DATA_SCALE,t.NULLABLE 是否为空\n" + "from user_tab_columns t\n" + "where table_name = '"+tableName+"'\n" + "order by t.COLUMN_ID asc";return getResult(sql, 8);}/** * @param sql * @param length * @return  返回的是一个list集合 */public static List getResult(String sql, int length) {List list = new ArrayList();ResultSet rs = null;ConnectionOracle c = new ConnectionOracle();try {rs = c.executeQuery(sql);while (rs.next()) {String[] string = new String[length];for (int i = 1; i < length + 1; i++) {string[i - 1] = rs.getString(i);}list.add(string);}c.close();} catch (SQLException e) {e.printStackTrace();}return list;}/** *  * 输出对应list中的数据 *  * @param list */public static void showView(List list) {for (Iterator iterator = list.iterator(); iterator.hasNext();) {String[] name = (String[]) iterator.next();for (int i = 0; i < name.length; i++) {System.out.println(name[i]);}}}public static String TableStructInfoToExcel(List list, String path)throws Exception {String FileName = "";FileOutputStream fos = null;HSSFRow row = null;HSSFCell cell = null;HSSFCellStyle style = null;HSSFFont font = null;int currentRowNum = 0;String[] tableFiled = { "序号", "表名", "字段名","类型", "长度", "DATA_PRECISION", "DATA_SCALE","是否为空" };try {FileName = path + "\\" + "数据库中表结构.xls";//生成的路径,现在是一个xls举的例子fos = new FileOutputStream(FileName);// 创建新的sheet并设置名称HSSFWorkbook wb = new HSSFWorkbook();//poi api中的workbook 对象相当于 excel中的工作簿对象//创建一个sheet 页, 现在是在一个sheet页里面生成的所有的表的结构(数据字典)。HSSFSheet s = wb.createSheet();wb.setSheetName(0, "数据库表结构");//这个地方改写style = wb.createCellStyle();font = wb.createFont();for (int z = 0; z < list.size(); z++) {List listBean = (List) list.get(z);// 新建一行,再在行上面新建一列row = s.createRow(currentRowNum);int pad = currentRowNum;currentRowNum++;// 设置样式font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 字体加粗style.setFont(font);style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平居中style.setFillForegroundColor((short) 13);// 设置背景色style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框for (int i = 0; i < tableFiled.length; i++) {cell = row.createCell((short) i);cell.setCellValue("");cell.setCellStyle(style);}row.getCell((short) 0).setCellValue("数据库表" + listBean.get(0).toString() + "的结构");// 创建第二行row = s.createRow(currentRowNum);currentRowNum++;for (int i = 0; i < tableFiled.length; i++) {// 创建多列并设置每一列的值和宽度cell = row.createCell((short) i);cell.setCellValue(new HSSFRichTextString(tableFiled[i]));s.setColumnWidth((short) i, (short) 5000);}List list2 = (List) listBean.get(1);for (int i = 0; i < list2.size(); i++) {row = s.createRow(currentRowNum);currentRowNum++;String[] strings = (String[]) list2.get(i);for (int j = 0; j < strings.length; j++) {cell = row.createCell((short) j);cell.setCellValue(new HSSFRichTextString(strings[j]));}}// 合并单元格s.addMergedRegion(new Region(pad, (short) 0, pad,(short) (tableFiled.length - 1)));currentRowNum++;}wb.write(fos);fos.close();} catch (Exception e) {e.printStackTrace();fos.close();throw new Exception(FileName);}return FileName;}}

一张表占用一个sheet页方式:

import java.io.File;import java.io.FileOutputStream;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.Region;/** * @author vipyhd *  */public class DataToExcel {public static void main(String[] args) {String result = "";List listAll = new ArrayList();System.out.println("正在读取数据库中所有的表");try {// 获取的是数据库中的表名字,进而封装到list容器里面List tableList = getTableList();System.out.println("数据库表读取完成");for (int i = 0; i < tableList.size(); i++) {String[] strings = (String[]) tableList.get(i);String tableName = strings[0].toString();List list = new ArrayList();list.add(tableName);list.add(getStructOfTable(tableName));System.out.println("正在生成表" + tableName + "的结构");listAll.add(list);}result = TableStructInfoToExcel(listAll, "D:");System.out.println("数据库中表结构导入已完成");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();File file = new File(e.getMessage().toString());if (file.exists()) {file.delete();}}System.out.println(result);// showView(list);}/** *  * 获取数据库中所有的表 *  * @return */public static List getTableList() {// String sql =// "select object_name From user_objects Where object_type='TABLE'";// DB2// String sql = "SELECT table_name FROM USER_TABLES";String sql = "SELECT T.TABLE_NAME\n"+ "  FROM USER_TABLES T\n"+ " WHERE T.TABLE_NAME NOT IN (SELECT T.TABLE_NAME\n"+ "                              FROM USER_TABLES T\n"+ "                             WHERE T.TABLE_NAME LIKE 'TEMP%'\n"+ "                                OR T.TABLE_NAME LIKE '%BAK%'\n"+ "                                OR T.TABLE_NAME LIKE 'D%'\n"+ "                                OR T.TABLE_NAME LIKE 'CREDIT_%'\n"+ "                                OR T.TABLE_NAME LIKE 'BJ%'\n"+ "                                OR T.TABLE_NAME LIKE 'ATM%'\n"+ "                                OR T.TABLE_NAME LIKE 'B%'\n"+ "                                OR T.TABLE_NAME LIKE 'TMP%'\n"+ "                                OR T.TABLE_NAME LIKE 'TEST%'\n"+ "                                OR T.TABLE_NAME LIKE 'A%'\n"+ "                                OR T.TABLE_NAME LIKE '%TEMP'\n"+ "                                OR T.TABLE_NAME LIKE '%BACK'\n"+ "                                OR T.TABLE_NAME LIKE '%20070202'\n"+ "                                OR T.TABLE_NAME LIKE '%1231'\n"+ "                                OR T.TABLE_NAME LIKE '%20081017'\n"+ "                                OR T.TABLE_NAME LIKE '%TMP'\n"+ "                                OR T.TABLE_NAME LIKE '%1%'\n"+ "                                OR T.TABLE_NAME LIKE '%MD'\n"+ "                                OR T.TABLE_NAME LIKE 'E%'\n"+ "                                OR T.TABLE_NAME LIKE 'F%'\n"+ "                                OR T.TABLE_NAME LIKE 'G%'\n"+ "                                OR T.TABLE_NAME LIKE 'H%'\n"+ "                                OR T.TABLE_NAME LIKE 'Q%'\n"+ "                                OR T.TABLE_NAME LIKE 'SDD%'\n"+ "                                OR T.TABLE_NAME LIKE 'V%'\n"+ "                                OR T.TABLE_NAME LIKE 'W%'\n"+ "                                OR T.TABLE_NAME LIKE 'Z%'\n"+ "                                OR T.TABLE_NAME LIKE 'SDB%'\n"+ "                                OR T.TABLE_NAME LIKE 'MD%'\n"+ "                                OR T.TABLE_NAME LIKE 'STAGE%'\n"+ "                                OR T.TABLE_NAME LIKE 'P%'\n"+ "                                OR T.TABLE_NAME LIKE 'J%'\n"+ "                                OR T.TABLE_NAME LIKE 'TRANS%'\n"+ "                                OR T.TABLE_NAME LIKE 'XSF%'\n"+ "                                OR T.TABLE_NAME LIKE 'MIGR%'\n"+ "                                OR T.TABLE_NAME LIKE 'MIGRATION%'\n"+ "                                OR T.TABLE_NAME LIKE 'S%'\n"+ "                                OR T.TABLE_NAME LIKE 'O%'\n"+ "                                OR T.TABLE_NAME LIKE 'CONFIG%'\n"+ "                                OR T.TABLE_NAME LIKE 'MANUFACTURER%'\n"+ "                                OR T.TABLE_NAME LIKE 'OPINION%'\n"+ "                                OR T.TABLE_NAME LIKE 'TOOLS%'\n"+ "                                OR T.TABLE_NAME LIKE 'd%'\n"+ "                                OR T.TABLE_NAME LIKE 'TB%'\n"+ "                                OR T.TABLE_NAME LIKE 'CUSTOMER%'\n"+ "                                OR T.TABLE_NAME LIKE 'R%'\n"+ "                                OR T.TABLE_NAME LIKE 'TIME%'\n"+ "\n" + "                            )";return getResult(sql, 1);}public static List getStructOfTable(String tableName) {// DB2// String sql =// "SELECT u.column_name,u.data_type,u.data_length,u.data_precision,u.data_Scale,u.nullable,u.data_default,c.comments FROM user_tab_columns u,user_col_comments c"// +//// " WHERE u.table_name='"// + tableName// + "' and u.table_name=c.table_name and c.column_name=u.column_name";String sql = "select t.COLUMN_ID 序号 , t.TABLE_NAME 表名 ,t.COLUMN_NAME 字段名 ,t.DATA_TYPE 类型 ,t. DATA_LENGTH 长度 , t.DATA_PRECISION,\n"+ "       t.DATA_SCALE,t.NULLABLE 是否为空\n"+ "from user_tab_columns t\n"+ "where table_name = '"+ tableName + "'\n" + "order by t.COLUMN_ID asc";return getResult(sql, 8);}/** * @param sql * @param length * @return 返回的是一个list集合 */public static List getResult(String sql, int length) {List list = new ArrayList();ResultSet rs = null;ConnectionOracle c = new ConnectionOracle();try {rs = c.executeQuery(sql);while (rs.next()) {String[] string = new String[length];for (int i = 1; i < length + 1; i++) {string[i - 1] = rs.getString(i);}list.add(string);}c.close();} catch (SQLException e) {e.printStackTrace();}return list;}/** *  * 输出对应list中的数据 *  * @param list */public static void showView(List list) {for (Iterator iterator = list.iterator(); iterator.hasNext();) {String[] name = (String[]) iterator.next();for (int i = 0; i < name.length; i++) {System.out.println(name[i]);}}}public static String TableStructInfoToExcel(List list, String path)throws Exception {String FileName = "";FileOutputStream fos = null;HSSFRow row = null;HSSFCell cell = null;HSSFCellStyle style = null;HSSFFont font = null;//int currentRowNum = 0;String[] tableFiled = { "序号", "表名", "字段名", "类型", "长度","DATA_PRECISION", "DATA_SCALE", "是否为空" };try {FileName = path + "\\" + "数据库中表结构.xls";// 生成的路径,现在是一个xls举的例子fos = new FileOutputStream(FileName);// 创建新的sheet并设置名称HSSFWorkbook wb = new HSSFWorkbook();// poi api中的workbook 对象相当于// excel中的工作簿对象// 创建一个sheet 页, 现在是在一个sheet页里面生成的所有的表的结构(数据字典)。//[[CIS_FX_BH, [[Ljava.lang.String;@26d58939]],style = wb.createCellStyle();font = wb.createFont();for (int z = 0; z < list.size(); z++) {int currentRowNum = 0;HSSFSheet s = wb.createSheet();List listBean = (List) list.get(z);System.out.println(listBean + "===========");// 新建一行,再在行上面新建一列row = s.createRow(currentRowNum);int pad = currentRowNum;currentRowNum++;// 设置样式font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 字体加粗style.setFont(font);style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平居中style.setFillForegroundColor((short) 13);// 设置背景色style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框for (int i = 0; i < tableFiled.length; i++) {cell = row.createCell((short) i);cell.setCellValue("");cell.setCellStyle(style);}row.getCell((short) 0).setCellValue("数据库表" + listBean.get(0).toString() + "的结构");wb.setSheetName(z, listBean.get(0).toString());// 这个地方改写// 创建第二行row = s.createRow(currentRowNum);currentRowNum++;for (int i = 0; i < tableFiled.length; i++) {// 创建多列并设置每一列的值和宽度cell = row.createCell((short) i);cell.setCellValue(new HSSFRichTextString(tableFiled[i]));s.setColumnWidth((short) i, (short) 5000);}List list2 = (List) listBean.get(1);for (int i = 0; i < list2.size(); i++) {row = s.createRow(currentRowNum);currentRowNum++;String[] strings = (String[]) list2.get(i);for (int j = 0; j < strings.length; j++) {cell = row.createCell((short) j);cell.setCellValue(new HSSFRichTextString(strings[j]));}}// 合并单元格s.addMergedRegion(new Region(pad, (short) 0, pad,(short) (tableFiled.length - 1)));currentRowNum++;}wb.write(fos);fos.close();} catch (Exception e) {e.printStackTrace();fos.close();throw new Exception(FileName);}return FileName;}}

本人使用的是oracle数据库 ,本人用到的sql脚本如下:

--获取所有表名SELECT table_name FROM USER_TABLES ;--根据表名来获取表结构信息select t.COLUMN_ID 序号 , t.TABLE_NAME 表名 ,t.COLUMN_NAME 字段名 ,t.DATA_TYPE 类型 ,t. DATA_LENGTH 长度 , t.DATA_PRECISION ,       t.DATA_SCALE,t.NULLABLE 是否为空from user_tab_columns twhere table_name = 'D_BZJ_CDMX'order by t.COLUMN_ID asc; SELECT T.TABLE_NAME  FROM USER_TABLES T WHERE T.TABLE_NAME NOT IN (SELECT T.TABLE_NAME                              FROM USER_TABLES T                             WHERE T.TABLE_NAME LIKE 'TEMP%'                                OR T.TABLE_NAME LIKE '%BAK%'                                OR T.TABLE_NAME LIKE 'D%'                                OR T.TABLE_NAME LIKE 'CREDIT_%'                                OR T.TABLE_NAME LIKE 'BJ%'                                OR T.TABLE_NAME LIKE 'ATM%'                                OR T.TABLE_NAME LIKE 'B%'                                OR T.TABLE_NAME LIKE 'TMP%'                                OR T.TABLE_NAME LIKE 'TEST%'                                OR T.TABLE_NAME LIKE 'A%'                                OR T.TABLE_NAME LIKE '%TEMP'                                OR T.TABLE_NAME LIKE '%BACK'                                OR T.TABLE_NAME LIKE '%20070202'                                OR T.TABLE_NAME LIKE '%1231'                                OR T.TABLE_NAME LIKE '%20081017'                                OR T.TABLE_NAME LIKE '%TMP'                                OR T.TABLE_NAME LIKE '%1%'                                OR T.TABLE_NAME LIKE '%MD'                                OR T.TABLE_NAME LIKE 'E%'                                OR T.TABLE_NAME LIKE 'F%'                                OR T.TABLE_NAME LIKE 'G%'                                OR T.TABLE_NAME LIKE 'H%'                                OR T.TABLE_NAME LIKE 'Q%'                                OR T.TABLE_NAME LIKE 'SDD%'                                OR T.TABLE_NAME LIKE 'V%'                                OR T.TABLE_NAME LIKE 'W%'                                OR T.TABLE_NAME LIKE 'Z%'                                OR T.TABLE_NAME LIKE 'SDB%'                                OR T.TABLE_NAME LIKE 'MD%'                                OR T.TABLE_NAME LIKE 'STAGE%'                                OR T.TABLE_NAME LIKE 'P%'                                OR T.TABLE_NAME LIKE 'J%'                                OR T.TABLE_NAME LIKE 'TRANS%'                                OR T.TABLE_NAME LIKE 'XSF%'                                OR T.TABLE_NAME LIKE 'MIGR%'                                OR T.TABLE_NAME LIKE 'MIGRATION%'                                OR T.TABLE_NAME LIKE 'S%'                                OR T.TABLE_NAME LIKE 'O%'                                OR T.TABLE_NAME LIKE 'CONFIG%'                                OR T.TABLE_NAME LIKE 'MANUFACTURER%'                                OR T.TABLE_NAME LIKE 'OPINION%'                                OR T.TABLE_NAME LIKE 'TOOLS%'                                OR T.TABLE_NAME LIKE 'd%'                                OR T.TABLE_NAME LIKE 'TB%'                                OR T.TABLE_NAME LIKE 'CUSTOMER%'                                OR T.TABLE_NAME LIKE 'R%'                                OR T.TABLE_NAME LIKE 'TIME%'                                                        )

以后的目标改进是将其改写成一个exe文件,带有参数输入并可以选择多个数据库的工具。


sql是可以替换的。呵呵呵呵偷笑


0 0
原创粉丝点击