Просмотр полной версии : Вопрос про редактирование БД, больших размеров
Значит так, ломанул я форум и слил себе базу.
База весит около 70 мегабайт.
Вопрос как мне ее обрабатывать и редактировать?
какие есть для этого проги, потому что мой phpmyadmin не в состоянии переварить такой объем.
дык разбей на куски, или скрипт накодь, который будет парсить и находить нужные данные
на php я смогу наколбасить этот скрипт, в смысле сможет ли он обрабоать такой размер?
censored!
22.08.2005, 14:53
Открой в текстовом редакторе (bred - отлично открывает), отмотай где идет инфа о юзерах, вырезай, вставляй в новый, запускай поиск замену всяких "INSERT INTO `guest_db_users`" на пустое значение, потом пробегись и проверь - не встречается ли где амперсенд (`) если нет, то заменяй разделитель (обычно ', ') на амперсенд.
Теперь запускай Эксель, открывай свой файл, выбирай "с разделителем", указывай разделитель ` (не забудь поставить галку на "текстовые значения") и открывай. Потом удалишь все ненужные поля и вот у тебя база в нормальном читабельном виде. Потом уже оттуда выдирай логин/хэш, проверяй чтобы не встречалось в нике двоеточике (:) и засовывай в пассворд-про.
Ну, или, отписывайся в личку, зипуй и засылай мне. Через 10 мин отошлю обратно твою базу отсортированной. Единсвенное - твою базу оставлю у себя в загашнике.
спасибо censored все получилось, а насчет базы я бы тебе переслал бы если бы весила поменьше, а то мне диалапом закачивать тебе, если честно влом.
censored!
22.08.2005, 21:11
ее, лучше, перед этим зазиповать =)
тебе она нужна? если нужна то я ее просто оставлю там тока INSERT INTO forum_users вот эти строки и тебе дам
В инете нашел скрипт который открывает базы данных в excel
#!/usr/local/bin/perl
use DBI;
$table = "table";
$db = "base";
$db_serv = "192.168.0.1";
$user = "user";
$passwd = "password";
$c = DBI->connect("DBI:mysql:$db:$db_serv", $user, $passwd);
$statement = "select count(*) from $table";
$cc = $c->prepare($statement);
$ccc = $cc->execute;
@row = $cc->fetchrow_array;
$n = $row[0];
$statement = "select * from $table";
$cc = $c->prepare($statement);
$ccc = $cc->execute;
open F, "$ARGV[0]";
for ($i=0; $i<$n; $i++) {
@row = $cc->fetchrow_array;
print F "$row[0];$row[1];$row[3]\n";
}
Запускаем скрипт:
./mysql_2_exel.pl file
После этого можно открыть файл 'file' экселем.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot