• mysql 批量导出建表语句 (视图,函数同理)


    import java.io.File;

    import java.io.FileNotFoundException;

    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;


    public class Tables {
    private static String driverName = "com.mysql.jdbc.Driver";

    public static void main(String[] args) {
    Connection con = null ;
    Statement stmt =null;
    PreparedStatement pstmt = null ;

    try {
    Class.forName(driverName);
    con = DriverManager.getConnection("jdbc:mysql://192.168.5.148/xxx", "root", "123456");
    String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'ifms' AND TABLE_TYPE ='BASE TABLE'";
    stmt = con.createStatement();
    pstmt = con.prepareStatement(sql);
    ResultSet res = stmt.executeQuery(sql);
    while (res.next()) {
    String tableName = res.getString(1);
    /*stmt = con.createStatement();*/
    if(tableName.contains("`")) continue;
    ResultSet rs = pstmt.executeQuery("show create table `"+tableName+"`");
    while(rs.next()){
    File file = new File("C:\b_tables\"+tableName+".sql");
    OutputStreamWriter osw = null;
    try {
    osw = new OutputStreamWriter(new FileOutputStream(file));
    osw.write(rs.getString(2));
    System.out.println(tableName+"导出成功");
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    osw.flush();
    osw.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    }
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    System.exit(1);
    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    if(pstmt!=null){
    try {
    pstmt.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(stmt!=null){
    try {
    stmt.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(con!=null){
    try {
    con.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    }
    }

  • 相关阅读:
    设计模式:迭代器模式(Iterator Pattern) 明
    设计模式:目录导航 明
    设计模式:状态模式(State Pattern) 明
    设计模式:命令模式(Command Pattern) 明
    二维DP—— POJ 3186
    COM组件里自动化接口与普通接口的转换
    贪心好题——poj3044
    三分查找——POJ3301
    静态链表+DFS——poj 3272
    妙用队列优化——校赛题
  • 原文地址:https://www.cnblogs.com/sx2zx/p/6246426.html
Copyright © 2020-2023  润新知