Заполнить таблицу MySQL из текстового файла - PullRequest
2 голосов
/ 06 апреля 2011

Это должно быть легко. Мне нужно заполнить таблицу из текстового файла. По сути, я хотел бы сделать это в сценарии оболочки Linux. Спасибо !!

Пример:

  • MySQL Table

Размер элемента формы цвет

  • Textfile

машина синяя круглая маленькая

морковный красный квадрат большой

яблочно-зеленый круглый, средний

Ответы [ 4 ]

2 голосов
/ 06 апреля 2011

Вы можете выполнить запрос следующим образом:

LOAD DATA INFILE 'data.txt' INTO TABLE yourTable
 FIELDS TERMINATED BY ' '
 LINES TERMINATED BY '\n'

И тогда все, что вам нужно, это написать крошечный скрипт оболочки, выполняющий запрос.

Редактировать:

Полный сценарий может выглядеть примерно так:

#!/bin/bash
mysql databaseName<<EOFMYSQL
 LOAD DATA INFILE 'data.txt' INTO TABLE yourTable
  FIELDS TERMINATED BY ' '
  LINES TERMINATED BY '\n';
EOFMYSQL

Этот сценарий может быть выполнен следующим образом:

chmod +x script.sh
./script.sh

Возможно, вы столкнулись с проблемами пользователя, так как оболочка не обрабатывает mysqlнепосредственно.Попробуйте узнать, как выполнить mysql без входа в систему. Это должно быть частью практически любого сценария резервного копирования mysql :-)

0 голосов
/ 06 апреля 2011

ЗАГРУЗКА ДАННЫХ INFILE - способ, используемый для этого.Рассмотрим формат CSV.

0 голосов
/ 06 апреля 2011

Посмотрите на синтаксис LOAD DATA INFILE. Выполнение простого запроса в двоичный файл клиента mysql должно сделать это.

0 голосов
/ 06 апреля 2011

Я предлагаю посмотреть документацию LOAD DATA INFILE , которая позволит вам импортировать данные из этого формата даже без написания скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...