Как импортировать файл с разделителями табуляции в базу данных MySQL, используя Java? - PullRequest
2 голосов
/ 01 июля 2011

Я хочу импортировать файл с разделителями табуляции в базу данных MySQL.Как я могу сделать это с помощью Java?

Ответы [ 5 ]

7 голосов
/ 01 июля 2011

Это очень расплывчато, но звучит как вопрос, связанный с MySQL.Вот руководство для загрузки файлов .По умолчанию:

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\n' STARTING BY ''
2 голосов
/ 02 января 2014

Импорт файла с разделителями табуляции в MySQL:

  1. Создайте свою таблицу:

    mysql> create table foo(id INT, mytext TEXT, sparkle DECIMAL(9,4));
    Query OK, 0 rows affected (0.02 sec)
    
  2. Создайте свойфайл данных, поместите его в foo.txt, вкладки заметок разделяют 3 столбца

    1   twilight sparkle is best pony!  6.6 
    2   pinkie pie is best pony!    3.3 
    3   derpy hooves is best pony!  1.1 
    
  3. Затем импортируйте файл:

    mysqlimport --fields-terminated-by='\t' 
                --columns=id,mytext,sparkle 
                --local -u root -ppassword your_database foo.txt
    yourdatabase.foo: Records: 4  Deleted: 0  Skipped: 0  Warnings: 3
    
  4. Посмотрите в таблице.

    mysql> select * from foo;
    +------+-------------------------------+---------+
    | id   | mytext                        | sparkle |
    +------+-------------------------------+---------+
    |    1 | twilight sparkle is best pony |  6.6000 |
    |    2 | pinkie pie is best pony       |  3.3000 |
    |    3 | derpy hooves is best pony     |  1.1000 |
    +------+-------------------------------+---------+
    4 rows in set (0.00 sec)
    

Строки были загружены.

Прочтите мою команду mysqlimport, чтобы увидеть все, что она может сделать.

http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html

0 голосов
/ 01 июля 2011
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("myfile.tab")));

String line = null;

while((line = reader.readLine()) != null) {
    String[] fiedls = line.split("\\t");
    // generate your SQL insert statement here
    // execute SQL insert.
}

Если вы не знакомы с SQL и / или JDBC, обратитесь к соответствующему руководству.Google поможет вам найти его.

0 голосов
/ 01 июля 2011

Откройте соединение JDBC с вашей базой данных. Создайте подготовленный оператор для вставки строки в таблицу. Читайте файл построчно. Вы можете использовать что-то вроде OpenCSV , чтобы помочь вам. Для каждой строки свяжите параметры подготовленного оператора и выполните его. Закройте подготовленную выписку, соединение и программу чтения файлов.

Прочитайте http://download.oracle.com/javase/tutorial/jdbc/basics/index.html, чтобы выучить JDBC.

0 голосов
/ 01 июля 2011

Используйте Scanner API для чтения файла и создания динамических операторов SQL.После этого используйте JDBC prepareStatement и выполните их.

...