本文目錄一覽:
- 1、Java如何輸出mysql中表的所有數據,前提是不知道表裡面有什麼內容
- 2、如何用java實現mysql資料庫的導入導出
- 3、怎麼用java實現mysql資料庫的導入導出
- 4、java中怎樣將MySql中的數據取出來,
- 5、怎麼用JAVA把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