Распарсить sql запрос

Статус
В этой теме нельзя размещать новые ответы.

KillDead

Хранитель порядка
Регистрация
11 Авг 2006
Сообщения
894
Реакции
579
Есть несколько дампов баз данных. Нужно извлечь данные из конкретной таблицы и конкретной колонки. Для этого наверно? нужно распарсить запрос.
Встречал кто нормальный класс или скрипт?
 
Для этого либо пишеться регулярка по-быстрому, либо этот дамп загоняется в базу и далее как обычно запрость "SELECT * FROM" И делай с данными что-хочешь. Правда нужны минимальные знания пхп.
 
Загнать в БД дамп не подходит.
Дело осложняется различной структурой sql запроса. По-быстрому составить регулярку и учесть различную структуру не получиться.:confused:
 
Кусочек базы прикрепите...
Думаю распарсить тогда будит проще чем в слепую.
А ещё проще найдите в своем дампе сивол`ы которые говарят о конце и начале стосбика. И замените его на "\t"

И получивщейся каламбур в ексель втолкните. Ексель сам разобьет по столбикам по "\t"

Вот както так ))
 
Дело осложняется различной структурой sql запроса. По-быстрому составить регулярку и учесть различную структуру не получиться.

И тем не менее, регекспами вытащить конкретно нужный тебе кусок в сто раз проще, чем разбирать ВСЕ. Кидай дамп или хотя бы кусочек, и говори что надо вытащить.
 
  • Заблокирован
  • #6
Есть несколько дампов баз данных. Нужно извлечь данные из конкретной таблицы и конкретной колонки. Для этого наверно? нужно распарсить запрос.
Встречал кто нормальный класс или скрипт?

Дампы каких баз?
Распарсить, видимо, все же надо не запрос, а дамп?
Почему именно PHP? Дампы на хостинге?
 
Загнать в БД дамп не подходит.
Дело осложняется различной структурой sql запроса. По-быстрому составить регулярку и учесть различную структуру не получиться.:confused:
Какое еще осложнение? там один сплошной INSERT. А если мешают связи с другими таблицами, то просто вырежи их из создания таблицы. Проще всего сделать базу данных и из нее запрашивать, как душе угодно

Класс, который нужен для распарсивания SQL, уже давно придуман - это сама бд. Она и распарсит и переведет данные в удобную для выборки форму.
 
Парсить дамп оказалось очень долго. Теперь задача стоит выполнить запрос в базу. Как это лучше сделать, если дамп весит 250 мегов? Вырезал все запросы, как только начинаю выполнять ситтуация такая:
Первая 1000-я запросов выполняется за 3 сек.
Но вторая 1000 уже 3,3сек.
Потом, 1000 запросов после 50000 длится около минуты, как лучше и быстрее сделать?
HTML:
INSERT INTO `dle_post` VALUES
(110, 'karkusha', '2007-05-15 07:04:03', '<div align=\"center\"><img src=\"http://t.foto.radikal.ru/0705/90/172dd1ade631.gif\" style=\"border: none;\" alt=\'CachemanXP v1.5.0.33\' /></div><br /><br />Cacheman XP — утилита, предназначенная для оптимизации операционных систем Windows NT/2000/XP/2003 и настройки их на оптимальную работу. Программа умеет оптимизировать дисковый кэш, кэш CD-приводов, Icon Cache, периодически очищает память, изменяет некоторые настройки операционной системы, отслеживает изменения важных параметров, отображает информацию в графическом виде, может генерировать отчеты. Режим автоматической оптимизации подходит для новичков и не требует глубоких знаний для оптимальной настройки. Возможно предварительное сохранение системных установок для возможного отката.', '<div align=\"center\"><img src=\"http://t.foto.radikal.ru/0705/90/172dd1ade631.gif\" style=\"border: none;\" alt=\'CachemanXP v1.5.0.33\' /></div><br /><br />Cacheman XP — утилита, предназначенная для оптимизации операционных систем Windows NT/2000/XP/2003 и настройки их на оптимальную работу. Программа умеет оптимизировать дисковый кэш, кэш CD-приводов, Icon Cache, периодически очищает память, изменяет некоторые настройки операционной системы, отслеживает изменения важных параметров, отображает информацию в графическом виде, может генерировать отчеты. Режим автоматической оптимизации подходит для новичков и не требует глубоких знаний для оптимальной настройки. Возможно предварительное сохранение системных установок для возможного отката.<br /><br />Серийник в архиве.<br /><br />[hide]<a href=\"http://depositfiles.com/files/865790\" target=\"_blank\">Скачать CachemanXP v1.5.0.33</a>[/hide] 1.32 MB', '', 'CachemanXP v1.5.0.33', 'Cacheman XP — утилита, предназначенная для оптимизации операционных систем Windows NT2000XP2003 и настройки их на оптимальную работу. Программа умеет оптимизировать дисковый кэш, кэш CD-прив', 'настройки, оптимизации, подходит, отчеты, Режим, генерировать, автоматической, может, параметров, отображает, информацию, графическом, новичков, глубоких, системных, установок, возможного, отката, сохранение, предварительное', '2', 'cachemanxp_v15033', 0, 1, 1, 1, 1, 0, 0, 1, 0, 164, 0, '', '0000-00-00', '', 0, '', '', '', 0, ''),
(3405, 'Artemxxx', '2008-02-14 15:08:29', '<div align=\"center\"><img src=\"http://i046.radikal.ru/0802/59/d7c4c526c267.jpg\" style=\"border: none;\" alt=\'Много фотографий интимных мест девушек крупным и очень крупным планом. Очень красиво и воз\' title=\'Много фотографий интимных мест девушек крупным и очень крупным планом. Очень красиво и воз\' /></div><br /><br />Много фотографий интимных мест девушек крупным и очень крупным планом. Очень красивo<br />', '<div align=\"center\"><img src=\"http://i046.radikal.ru/0802/59/d7c4c526c267.jpg\" style=\"border: none;\" alt=\'Много фотографий интимных мест девушек крупным и очень крупным планом. Очень красиво и воз\' title=\'Много фотографий интимных мест девушек крупным и очень крупным планом. Очень красиво и воз\' /></div><br /><br />Много фотографий интимных мест девушек крупным и очень крупным планом. Очень красивo<br /><br /><br />http://depositfiles.com/files/3384465<br />http://letitbit.net/download/1f5c6988831/pics-13.rar.html<br />', '', 'Много фотографий интимных мест девушек крупным и очень крупным планом. Очень красиво и воз', '', '', '9', 'mnogo-fotografijj-intimnykh-mest', 0, 1, 0, 1, 1, 0, 0, 1, 0, 83, 0, '', '0000-00-00', '', 1, '', '', '', 0, ''),
(18, 'nik_nin', '2007-04-15 20:27:14', '<div align=\"center\"><!--TBegin--><a href=\"http://ruport.eu/uploads/posts/1176650696_20_louiseglover_128292.jpg\" onClick=\"return hs.expand(this)\" ><img src=\"http://ruport.eu/uploads/posts/thumbs/1176650696_20_louiseglover_128292.jpg\" style=\"border: none;\" alt=\'Liberty\' title=\'Liberty\' /></a><!--TEnd--></div><br /><br /><div align=\"center\"><b>Группа:</b>Liberty<br /><b>Альбом:</b> В деле<br /><b>Жанр:</b> HipHop<br /><b>Год выпуска:</b> 2007<br /><b>Звук:</b> MPEG Layer 3, 128.00 kbp/s<br /><b>Размер:</b> 51,7 MB<br /><br />Предупреждаю!!! Группа не известная, только если кто нибудь был полгода назад в казахстане в городе Уральске, тогда может и знает эту группу. Ну а в прочем не плохо поют мне понравилось.<br /><br /><img src=\"http://ruport.eu/uploads/rapid.jpg\" style=\"border: none;\" alt=\'Liberty\' title=\'Liberty\' /></div>', '<div align=\"center\"><!--TBegin--><a href=\"http://ruport.eu/uploads/posts/1176650696_20_louiseglover_128292.jpg\" onClick=\"return hs.expand(this)\" ><img src=\"http://ruport.eu/uploads/posts/thumbs/1176650696_20_louiseglover_128292.jpg\" style=\"border: none;\" alt=\'Liberty\' title=\'Liberty\' /></a><!--TEnd--></div><br /><br /><b>Группа:</b>Liberty<br /><b>Альбом:</b> В деле<br /><b>Жанр:</b> HipHop<br /><b>Год выпуска:</b> 2007<br /><b>Звук:</b> MPEG Layer 3, 128.00 kbp/s<br /><b>Размер:</b> 51,7 MB<br /><br />Предупреждаю!!! Группа не известная, только если кто нибудь был полгода назад в казахстане в городе Уральске, тогда может и знает эту группу. Ну а в прочем не плохо поют мне понравилось.<br /><br /><br />1.258 (Просто музыка)<br />2.Алкоголики<br />3.Без изменений<br />4.Весёлые рифмы<br />5.Мама<br />6.Мне просто больно видеть<br />7.Рифмосхемы<br />8.Хочу модель<br />9.Что в нашей жизни называется хорошим<br />10.NEW YEAR (Просто музыка)<br />11.Ангел Хранитель<br />12.В деле<br />13.Дерзкая соната<br />14.Мечты<br />15.Письма<br />16.Смутный сон<br />17.Чёрная ворона<br /><br /><b>Ссылка:</b><br /><br />[hide]<a href=\"http://rapidshare.com/files/25994166/Liberty.rar\" target=\"_blank\">http://rapidshare.com/files/25994166/Liberty.rar</a><br /><br />Pass: ruport.eu[/hide]', '', 'Liberty', 'Предупреждаю!!! Группа не известная, только если кто нибудь был полгода назад в казахстане в городе Уральске, тогда может и знает эту группу. Ну а в прочем не плохо поют мне понравилось. П', 'группу, знает, может, прочем, понравилось, Предупреждаю, музыка, Просто, тогда, плохо, известная, Уральске, Группа, нибудь, только, назад, городе, полгода, казахстане, 13Дерзкая', '5', 'liberty', 0, 1, 1, 1, 1, 0, 5, 1, 1, 225, 0, '', '0000-00-00', 'l', 0, '', '', '', 0, ''),
 
AkelPad вам в помощь для преобразования из
INSERT INTO `dle_post` VALUES
(110, 'karkusha' ....),
(3405, 'Artemxxx'....),
(18, 'nik_nin'....),

в подобный формат:

INSERT INTO `dle_post` VALUES (110, 'karkusha' ....);
INSERT INTO `dle_post` VALUES (3405, 'Artemxxx'....);
INSERT INTO `dle_post` VALUES (18, 'nik_nin'....);


Открываете свой фаил через него потом ждете...
Далее делаете подмену "(" на "INSERT INTO `dle_post` VALUES"
Далее делаете подмену ")," на ");"
Ну и удоляете лишнюю строку с верху "INSERT INTO `dle_post` VALUES"

Но тут трабл 1 а именно имя таблицы... Можно зделать с помощью php но как распарсить 250 мегов я не представляю:(
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху