Импортировать БД из текстового файла в Mysql

Тема в разделе "Базы данных", создана пользователем parks, 26 окт 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. parks

    parks Нарушитель

    Регистр.:
    18 сен 2008
    Сообщения:
    424
    Симпатии:
    60
    Есть текстовый фаил с БД (с расширением .dbs), который работает с ексешником (телефонный справочник).Так вот, нужно занести это всё содержимое в Mysql (номер телефона, владелец, адрес).
    Пример из бд
    125894 БОЙКО И. КИРИЛЕНКО 25 188
    125895 ДНЕПРОВСКАЯ Н.А. КОКЧЕТАВСКАЯ 33 32
    125897 МАЛОВИК Т.А. ТАМБОВСКАЯ 52 36
    125898 МАКАРОВА Л.Н. КОКЧЕТАВСКАЯ 11 17
    125906 СВИТАНЬКО А.А. ЛЕПЕШИНСКОЙ 49
    125908 БАБЦОВА А.Ф. ВЕРНАДСКОГО 18
    125921 РАЗДОБУДЬКО Л.Д. ТРАНСПОРТНАЯ 14 8
    125922 ЗАХАРОВ А.Ю. ТРАНСПОРТНАЯ 57 13
    125924 СТРУКОВА Н.В. ТРАНСПОРТНАЯ 57 12
    210001 СОБОЛЕВ ВИKТОР ФЕДОРОВИЧ КАРМЕЛЮКА 12 17
    210002 ЛИСТОПАДОВА ВЕРА ПЕТРОВНА ПОДЛЕПЫ 22 43
    210003 СЛЕПОВИЧ ВАЛЕНТИНА ИВАНОВНА АНГАРСКАЯ 16 12
    210004 МОРОЗ НАТАЛЬЯ МИТРОФАНОВНА ПАНАСА МИРНОГО 2 9
    210005 ДУБ ВЕРА ТРОФИМОВНА КРОНШТАДСКАЯ 3 7
    210006 КОРЕЦКАЯ АННА ВАСИЛЬЕВНА ПОДЛЕПЫ 22 44
    210007 КУЗНЕЦОВА НАДЕЖДА ИВАНОВНА ПОДЛЕПЫ 51 11
    210008 ПЕТРЕНКО ЕВГЕНИЯ ПЕТРОВНА ПАНАСА МИРНОГО 31 48
    210009 ГРИЦАЙ ВАСИЛИЙ АНТОНОВИЧ ПАНАСА МИРНОГО 31 34
    210010 ПОДЛУЖНЫЙ НИKОЛАЙ ВИKТОРОВИЧ ПОДЛЕПЫ 34 1
    210011 ЯРЕМЕНКО ЛЮДМИЛА АНАТОЛЬЕВНА ГРОМОВОЙ 15 3
    210011 БЕЛОУСОВА НАТАЛЬЯ АНАТОЛЬЕВНА ГРОМОВОЙ 15 1

    Как это реализовать ?
    З.Ы Все номера шестизначные

    UPD: Спасибо всем кто откликнулся, в частности latteo navicat помог =)
     
  2. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    импорт в базу можно сделать командой LOAD DATA INFILE
    но здесь проблема в другом - как разделить поля, ФИО есть и полные и с инициалами, улицы из двух слов...
    думаю так - сначала проставить регулярками разделители полей, например для чисел:
    preg_replace('/(\d{6})\s+/','\\1;', $str)
    потом имортировать
     
  3. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.523
    Симпатии:
    1.376
    dbs ведь как-то понимает, где разделитель поставить...
    Может, между полями (номер телефона, владелец, адрес) всё же не пробелы, а например, табуляция? Тогда просто по ней разбивать.
    И справится с этим почти любой клиент для работы с БД, проверял в navicat и heidisql.

    Либо же, если реализовать надо на php, поможет простейшая функция explode.
     
    parks нравится это.
Статус темы:
Закрыта.