[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: формат базы данных
agentor
у меня имеется текстдокумент с данными городов, но хотелось бы её переформаторовать в SQL тип.
каким образом можно это сделать..?
данные такого типа:

2;"DE";"DE";"Baden-W?rttemberg";"Freiburg";"Breisgau-Hochschwarzwald";"";"79424";"Auggen";"";47.78709;7.59604
3;"DE";"DE";"Baden-W?rttemberg";"Freiburg";"Breisgau-Hochschwarzwald";"";"79189";"Bad Krozingen";"";47.91582;7.69985
4;"DE";"DE";"Baden-W?rttemberg";"Freiburg";"Breisgau-Hochschwarzwald";"";"79410";"Badenweiler";"";47.80178;7.67179
5;"DE";"DE";"Baden-W?rttemberg";"Freiburg";"Breisgau-Hochschwarzwald";"";"79282";"Ballrechten-Dottingen";"";47.85688;7.69225





Спустя 2 часа, 34 минуты, 17 секунд (2.06.2009 - 18:24) FatCat написал(а):
Легко, если текст не очень большой.
1. Эксплодить по PHP_EOL - получим массив строк.
2. В цикле по строкам эксплодить по точке с запятой - получим массив ячеек в строке, из которых и будет собираться строка sql-запроса вставки строки в БД.

Если большой текст, ИМХО, для одноразового случая проще порезать его вручную, чем городить огород в пхп.

Спустя 43 минуты, 18 секунд (2.06.2009 - 19:07) agentor написал(а):
извините..вы не могли бы привести пример функции..я не совсем понял как?
Документ примерно 2.20 МБ
нашол комаду в гугле LOAD DATA INFILE, пишут что она делает что то подобное...только я не разобрался каким образом.
Вы про это имели ввиду?

Спустя 2 часа, 19 минут, 15 секунд (2.06.2009 - 21:26) FatCat написал(а):
Если заменить точку с запятой на символ табуляции, то можно и так; оно наверное даже и проще будет.

Создать таблицу нужной структуры, затем выполнить команду:
SQL
LOAD DATA INFILE "/полный путь к файлу/файл.sql" INTO TABLE имя_таблицы

Если файл в винкириллице и таблицу создать в cp1251_general_ci, то и проблем с кодировками быть не должно; под Денвером делал такое.

Спустя 13 часов, 37 минут, 54 секунды (3.06.2009 - 11:04) agentor написал(а):
спасибо за помощь, немного погуглил ,сделал так и всё зашло...
Создал базу с необходимыми атрибутами затем выполнил данную команду.

PHP
LOAD DATA INFILE 'Z:/home/geo_.txt' INTO TABLE geo FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'


автоматически обработало все 23.000 записей и убрало ненужные скобки ит.д...
база получилась что надо..
biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.