LinuxForum.Fans
Тема

Импорт данных из CSV файла в базу MySQL

Автор: AlfaStriker 5 сообщений 5618 просмотров
#319939

Добрый день!

Имеется файл CSV со следующим содержимым:

text
E-MAIL                  |Username|Password     | Domain        | Full name          |
Ivan@company.ru | Ivan         |some pass   |company.ru  | Vanka Derjis     |

Таких строк в файле много, примерно 50.

Также имеется база "MAIL" с таблицей "mailbox":

text
mysql> show columns from mailbox;
+------------+--------------+------+-----+---------------------+-------+
| Field      | Type         | Null | Key | Default             | Extra |
+------------+--------------+------+-----+---------------------+-------+
| username   | varchar(255) | NO   | PRI | NULL                |       |
| password   | varchar(255) | NO   |     | NULL                |       |
| name       | varchar(255) | NO   |     | NULL                |       |
| maildir    | varchar(255) | NO   |     | NULL                |       |
| quota      | bigint(20)   | NO   |     | 0                   |       |
| local_part | varchar(255) | NO   |     | NULL                |       |
| domain     | varchar(255) | NO   | MUL | NULL                |       |
| created    | datetime     | NO   |     | 0000-00-00 00:00:00 |       |
| modified   | datetime     | NO   |     | 0000-00-00 00:00:00 |       |
| active     | tinyint(1)   | NO   |     | 1                   |       |
+------------+--------------+------+-----+---------------------+-------+
text
mysql> select * from mailbox;
+-------------------+------------------------------------+---------------+--------------------+-------+------------
| username      | password     | name       | maildir             | quota | local_part | domain   | created  | modified     | active |

| linux@company.ru | HASH PASS | Linus Towrlds | linux@company.ru/ | 0 | linux | company.ru | DATE/TIME | DATE/TIME | 1 |

Теперь хочется загрузить данные из файла CSV в таблицу mailbox.

Вопрос:
Как можно импортировать данные с CSV в базу.



Спасибо!

#319942

Спасибо, сейчас вот пытаюсь сделать, много вопросов. Но думаю сделаю.
Здесь кажется не обойтись без написания скрипта.

#320094

Там еще пароли PLAIN TEXT надо перевести в MD5.
Так что надо сперва превратить пароли в MD5, а потом уже их загонять в базу MySQL.
Нашел интересную ссылку, как средствами MySql переводить пароли в MD5:
http://mysqldatabaseadministration.blogspot.com/2006/08/storing-passwords-in-mysql.html?m=1

То есть все можно сделать средствами MySQL не прибегая к написанию костыля в виде скрипта.

Войдите или зарегистрируйтесь, чтобы ответить.