MySQL建表语句导出

版权声明: https://blog.csdn.net/u011263794/article/details/83541891
public static void exports()
    {
        Connection con = null;
        Statement stmt = null;
        PreparedStatement pstmt = null;

        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/test", "root", "111111");
            String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' 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);
                if (tableName.contains("`"))
                {
                    continue;
                }
                ResultSet rs = pstmt.executeQuery("show create table `" + tableName + "`");
                while (rs.next())
                {
                    File file = new File("stargate/" + 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();
                }
            }
        }


    }

猜你喜欢

转载自blog.csdn.net/u011263794/article/details/83541891