2016-02-23 8 views
1

У меня есть эти строки в CSV-файл и я хочу импортировать эти колонки в базе данныхИмпорт CSV файла в таблицу MySQL

Notification Identifier/State/Severity/Event Time/Probable Cause/Managed Object/Alarm Type/Additional Text 
ALARM/1347413987/Outstanding/Critical/Thu, Feb 18, 2016 04:50:22 PM/NeighborDown/5620SAM tunisiana_ns:.network.ne.5620SAM6_1 SERVICE 
service-652:192.168.161.36:routingInstance:ospf-v2:areaSite-0.0.0.0:interface-2/EquipmentAlarm/"PE9036 

Каждая линия начинаются с этой «ALARM», и мой разделитель «/» Пожалуйста, помогите мне для импорта этих данных в базу данных MySQL.

+0

Я не знаю, где Java вступает в игру, но я не думаю, что вам это даже нужно. Попробуйте использовать 'LOAD DATA' (вы можете это сделать Google). –

+0

i wannt сделать это в java-коде, который, как вы знаете, я пытаюсь использовать разные методы и я не получил его даже с помощью Google, поэтому, пожалуйста, помогите мне? –

ответ

2

Пожалуйста, обратитесь к документации для LOAD DATA INFILE здесь .. http://dev.mysql.com/doc/refman/5.7/en/load-data.html

Вы можете использовать CSV дружественных персонажей в

FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\' 
LINES TERMINATED BY '\n' STARTING BY '' 

Также есть certail инструменты GUI, как SQLyog, которые дают прямой и легкий путь для импорта CSV-файлов частично или полностью в вашу таблицу на сервере.

+0

Я хочу использовать разделенные «/» и начинать строку с «alarm», но когда я запускаю этот запрос, я получил ошибку –

+0

, вы помещали будильник в символ для STARTING BY ''? Какую ошибку вы получили? –

+0

query = "LOAD DATA LOCAL INFILE + path + INTO TABLE alarm FIELDS TERMINATED BY '/' STARTING BY 'alarm'"; –

0

Как они предлагают в комментариях лучше способ:

String esquel = " LOAD DATA LOCAL INFILE '" + path + 
       "' INTO TABLE tableName " + 
       " FIELDS TERMINATED BY \'/\' + 
       " LINES TERMINATED BY \'\\n\'"; 
+0

«+» объединяет всю строку, поэтому, если вы печатаете или отлаживаете эту переменную, это должно быть примерно так: 'LOAD DATA LOCAL INFILE 'D: \\ alarm.csv' INTO TABLE alarm FIELDS TERMINATED BY '/'' – tumisma

0

Легкий способ сделать это, чтобы использовать библиотеку как opencsv

0

я есть на ошибки:

ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+' at line 1 

и это - запрос:

query = " LOAD DATA LOCAL INFILE '" + "D:\\alarm.csv" + "' INTO TABLE alarm " +" FIELDS TERMINATED BY \'/\' + ";