bingshuiwu 发表于 2013-1-26 15:49:53

mysqlimport运用

格式:mysqlimport db_name textfile1

例子:mysqlimport -u username -ppassword db_name c:/grid_card.txt -L -Delete --fields-terminated-by=,

注意:textfile1的文件名第一点之前的名称必须与db_name数据库中的表名一致。此数据将导入该表中。
导入的文件:只包含要导入的值。

mysqlimport 命令会调用LOAD DATA导入数据。
可以参照:LOAD DATA

mysql> LOAD DATA INFILE "load_gridCard.sql" INTO TABLE grid_card FIELDS TERMINAT

ED BY ',' LINES TERMINATED BY '\n';

表的类型为MyISAM比InnDB快很多。

mysqlimport的具体格式请参照:
http://linux.cn/home/space-3872-do-thread-id-984.html

在java里调用该命令:
public static String importTableData (String tableName) {       long startTime = System.currentTimeMillis();       StringBuilder sb = new StringBuilder();       Runtime rt = Runtime.getRuntime();       String com = "cmd.exe /c \"E:/Program Files/mysql-5.5.8-win32/bin/mysqlimport\" -u username -ppassword dbName c:/"         + tableName + ".txt --delete -L --fields-terminated-by=,";       try {         Process p = rt.exec(com);         BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));         String line = null;         while((line = br.readLine()) != null) {            sb.append(line);         }         br = new BufferedReader(new InputStreamReader(p.getErrorStream()));         line = null;         while((line = br.readLine()) != null) {            sb.append(line);         }         if (p != null)            p.destroy();      } catch (IOException e) {         // TODO Auto-generated catch block         e.printStackTrace();       }             long endTime = System.currentTimeMillis();             System.out.println("load data to <" + tableName + "> use time : " + (endTime-startTime));             return sb.toString();    }
页: [1]
查看完整版本: mysqlimport运用