java導出mysql表結構及數據,mysql 導出資料庫結構

本文目錄一覽:

Java如何輸出mysql中表的所有數據,前提是不知道表裡面有什麼內容

使用while循環,當存在下條記錄時輸出,如果是INT,可用getInt(int a)方法,如果是字元串用getString(int a),參數是第幾個欄位,一條記錄(行)有多個屬性,分別命名為1…4…等,循環一次就會輸出一條記錄,當然欄位的屬性不同,將有不同的getType()方法,再用System.out.print()輸出到控制台上來

如何用java實現mysql資料庫的導入導出

要使用CMD命令窗口首先的將MYSQL環境變數設置到操作系統中,這是第一步,

導出MYSQL數據的命令如下:

mysqldump -u root [-p password] database [table] x.sql

注:root的登錄資料庫的用戶名;database為使用到的資料庫;table為表名;x.sql為導出的sql腳本

這樣導出為一個SQL腳本文件,裡面包括所有的建表語句與數據插入語句,

而數據導入也差不多,給傳入一個SQL腳本,語句如下:

source d:/mysql.sql;

怎麼用java實現mysql資料庫的導入導出

使用Java實現對MySql資料庫的導入與導出

package com.project.ajaxs;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.util.Calendar;

import java.util.Date;

public class BakMysql {

//main的方法,主要是我用於測試的,是想著取得CLASS的路徑,然後備份的文件寫在伺服器的類路徑下 

public static void main(String[] args) { 

BakMysql bk = new BakMysql(); 

   

        bk.backup(); 

    // bk.load();

     }

   //backup方法是備份資料庫到伺服器地址 

     public void backup() { 

     Calendar now = Calendar.getInstance();

     String name = now.getTime()+””+(now.getTime().getMonth()+1)+””+now.getTime().getDate();

     String filename = name.substring(24)+” “+name.substring(11,13)+””+name.substring(14,16)+””+name.substring(17,19);

         try { 

         String filePath =”e:/project”+filename+”.sql”;

             Runtime rt = Runtime.getRuntime(); 

             // 調用 mysql 的 cmd: 

             Process child = rt.exec(“C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump.exe -uroot -p8095longchun project”);// 設置導出編碼為utf8。這裡必須是utf8 

            //注意這一句,是指運行mysqldump命令,後面跟的是登錄名和登錄的密碼,接著後面的是指備份的資料庫的名字,到此結束,以此生成一個執行的進程,取得此進程的輸出流到我們要備份的文件 

             // 把進程執行中的控制台輸出信息寫入.sql文件,即生成了備份文件。註:如果不對控制台信息進行讀出,則會導致進程堵塞無法運行 

             InputStream in = child.getInputStream();// 控制台的輸出信息作為輸入流 

                        

            InputStreamReader xx = new InputStreamReader(in, “utf-8”);// 設置輸出流編碼為utf8。這裡必須是utf8,否則從流中讀入的是亂碼 

       

             String inStr; 

             StringBuffer sb = new StringBuffer(“”); 

             String outStr; 

             // 組合控制台輸出信息字元串 

             BufferedReader br = new BufferedReader(xx); 

             while ((inStr = br.readLine()) != null) { 

                 sb.append(inStr + “\r\n”); 

             

             } 

             outStr = sb.toString();//備份出來的內容是一個字條串 

            

             // 要用來做導入用的sql目標文件: 

             FileOutputStream fout = new FileOutputStream(filePath); 

             OutputStreamWriter writer = new OutputStreamWriter(fout, “utf8”); 

             writer.write(outStr);//寫文件 

             // 註:這裡如果用緩衝方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免 

             writer.flush();

             // 別忘記關閉輸入輸出流 

             in.close(); 

             xx.close(); 

             br.close(); 

             writer.close(); 

             fout.close();

         } catch (Exception e) { 

             e.printStackTrace(); 

         }

     } 

     //資料庫的導入

     public void load() { 

         try { 

             String fPath = “e:/aa.sql”; 

             Runtime rt = Runtime.getRuntime(); 

             Process child = rt.exec(“C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqladmin.exe -uroot -p8095longchun create project”);            

             Process child1 =rt.exec(“C:/Program Files/MySQL/MySQL Server 5.0/bin/mysql.exe -uroot -p8095longchun project”);

             OutputStream out = child1.getOutputStream();//控制台的輸入信息作為輸出流 

             String inStr; 

    

             StringBuffer sb = new StringBuffer(“”); 

             String outStr;

     

            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fPath), “utf-8”));

             while ((inStr = br.readLine()) != null) { 

                 sb.append(inStr + “\r\n”); 

             

             } 

             outStr = sb.toString(); 

           

             OutputStreamWriter writer = new OutputStreamWriter(out, “utf8”); 

             writer.write(outStr); 

           

             // 註:這裡如果用緩衝方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免 

             writer.flush(); 

             out.close(); 

             br.close(); 

             writer.close(); 

         } catch (Exception e) { 

             e.printStackTrace(); 

         }

     } 

}

原文來自

java中怎樣將MySql中的數據取出來,

Connection 類對象 得到連接資料庫對象 連接到資料庫去

Statement 類執行相應的sql語句

ResultSet 類得到結果

怎麼用JAVA把Mysql資料庫中的表的數據輸出至文本文檔中

首先導入 mysql-connector-java-5.1.45-bin.jar 包

代碼如下:

import java.io.*;

import java.sql.*;

public class App {

    public static void main(String[] args) {

        

        try {

            

            Class.forName(“com.mysql.jdbc.Driver”);

            

            // 資料庫用戶

            String user = “root”;

            

            // 資料庫密碼

            String password = “”;

            

            Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/db_sale”, user, password);

            

            Statement stmt = conn.createStatement();

            

            // 查詢 , 從資料庫 db_sale 的 product 表中查詢 id, name, qty 欄位

            ResultSet rs = stmt.executeQuery(“SELECT id, name, qty FROM product”);

            

            // 創建輸出文件 result.txt

            File file = new File(“d://result.txt”);

            OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file));

            

            while (rs.next()) {

                

                writer.write(String.valueOf(rs.getLong(1)) + “\t”);

                writer.write(rs.getString(2) + “\t”);

                writer.write(String.valueOf(rs.getInt(3)));

                writer.write(“\r\n”);

                

                //System.out.println(rs.getLong(1));

                //System.out.println(rs.getString(2));

                //System.out.println(rs.getLong(3));

            }

            

            writer.flush();

            writer.close();

            

            rs.close();

            stmt.close();

            conn.close();

            

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

原創文章,作者:ZFSS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140675.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZFSS的頭像ZFSS
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29

發表回復

登錄後才能評論