КИТА unofficial

Компьютерный => Веб-программирование => Тема начата: bers от Август 13, 2008, 05:39:12



Название: Нужна подсказка - как осуществить импорт данных в MySQL через PhpMyAdmin.
Отправлено: bers от Август 13, 2008, 05:39:12
Нужна подсказка - как осуществить импорт данных в MySQL через PhpMyAdmin (или другим несложным путем).

Первым делом сразу объясню что PHP для меня пока темный лес, зато с SQL проблем нет.
Поэтому написать PHP-скрипт-парсер не могу ...





Вообщем ситуация такова:
Есть табличные данные которые могу быть представлены в виде XLS или CSV файла ... или в виде SQL-файла:

(содержимое SQL файла к примеру:

INSERT INTO `zzz`.`xxx` (`id`,`type`,`url`,`price`) VALUES (830000,'dddf','http://www.sss.ru (http://www.sss.ru)','122');
INSERT INTO `zzz`.`xxx` (`id`,`type`,`url`,`price`) VALUES (830001,'gggg','http://www.vvv.ru (http://www.vvv.ru)','515');
INSERT INTO `zzz`.`xxx` (`id`,`type`,`url`,`price`) VALUES (830002,'ddds','http://www.ddd.ru (http://www.ddd.ru)','142');
.....
)

Импорт данных через CSV в PhpMyAdmin не нашел, хотя у знакомого стоит тоже 5 мускул как и у меня и у него есть эта возможность а у меня нет... (даже принтскринами обменялись .. чудеса вообщем) ...

При попытке загрузить данные из SQL-файла в таблицу через  интерфейс PhpMyAdmin :

Цитировать
"Или Месторасположение текстового файла:   Месторасположение текстового файла: "


- работает но только если файл не большой. Если пытаюсь загрузить SQL-файл с колвом строк 266307 (размер = 174 мега)  - задумывается и выходит на страницу с сообщением:


Цитировать
Добро пожаловать в phpMyAdmin 2.6.1

MySQL 5.0.45-community-nt на localhost как root@localhost
Нет SQL-запроса!


Может кто уже с импортом связывался - поделитесь инфой ...



ЗЫ. Скачал и мучал всякий сторонний софт по импорту-экспорту ... Ничего не помогло ... Либо пустые строки вставляют, либо все строки но все поля NULL, либо не вставляют ..... 


Название: Re: Нужна подсказка - как осуществить импорт данных в MySQL через PhpMyAdmin.
Отправлено: EvilMax от Август 13, 2008, 06:08:02
Странно. Если PHP настроен нормально и нормальные ограничения на аплоад, то проблем с большими дампами быть не должно. А вообще я эту тулзу мало использовал и предпочитаю с большими дампами работать в консоли.


Название: Re: Нужна подсказка - как осуществить импорт данных в MySQL через PhpMyAdmin.
Отправлено: bers от Август 13, 2008, 08:24:36
А вообще я эту тулзу мало использовал и предпочитаю с большими дампами работать в консоли.

если не затруднит - можно пример? или где почитать про это можно?


Название: Re: Нужна подсказка - как осуществить импорт данных в MySQL через PhpMyAdmin.
Отправлено: bers от Август 13, 2008, 10:40:37
вроде разобрался ... сделал в консоли так:

use _имя базы_
set names cp1251;
\. d:\file.sql


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


ЗЫ. наткнулся на еще интересный синтаксис для консоли :

LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;


но не смог раздуплиться где должен лежать мой файл ... подозреваю что где то на виртуальном диске монтирущемся командой SUBST ... но вот где??? 
Прямое прописывание пути типа 

LOAD DATA LOCAL INFILE "D:\pet.txt" INTO TABLE pet;

не подходит ...


Название: Re: Нужна подсказка - как осуществить импорт данных в MySQL через PhpMyAdmin.
Отправлено: EvilMax от Август 14, 2008, 03:22:54
Это не совсем то. Вроде как загрузка файла с разделителями. SQL нельзя так грузить.


Название: Re: Нужна подсказка - как осуществить импорт данных в MySQL через PhpMyAdmin.
Отправлено: Alder от Октябрь 19, 2009, 01:21:55
Наткнулся на замечательную утилиту Sypex Dumper (http://sypex.net/ru/products/dumper/downloads/ (http://sypex.net/ru/products/dumper/downloads/)), которая работает намного стабильнее phpMyAdmin на базах, размер которых выше 100 МБ.