Forum Webscript.Ru

Общие => Базы данных => Тема начата: dan3k от 05 Ноября 2003, 08:17:01

Название: Дамп Mysql базы
Отправлено: dan3k от 05 Ноября 2003, 08:17:01
Требуется сделать дамп определенных таблиц (бд - MySql).

Очень хочется, чтобы все было в таком формате:

CREATE TABLE ex_bl (
  bl_id mediumint(9) NOT NULL auto_increment,
  ip_address varchar(16) NOT NULL default \'\',
  p_id mediumint(9) NOT NULL default \'0\',
  KEY bl_id (bl_id)
) TYPE=MyISAM;

INSERT INTO ex_bl VALUES (1, \'127.0.0.1\', 0);
INSERT INTO ex_bl VALUES (2, \'127.0.0.1\', 0);

#next table...

Т.е. как в phpmyadmin.

Может быть в MySql есть спец-функция? Тогда топик надо будет перенести в другой форум :).

Или же прийдется делать полный select таблицы, а потом через цикл писать все значения как
INSERT INTO $tablename VALUES ($a->{\'1\'}, \'$a->{\'2\'}\', $a->{\'3\'})?

И тут еще назрел вопрос: как это сделать при большой базе, чтобы заодно сервак не упал :D?
Название: Дамп Mysql базы
Отправлено: Chs от 05 Ноября 2003, 09:11:01
man mysqldump
Название: Дамп Mysql базы
Отправлено: dan3k от 05 Ноября 2003, 12:52:45
И как mysqldump запустить с помощью DBI?
Название: Дамп Mysql базы
Отправлено: amigo от 05 Ноября 2003, 13:37:36
dan3k не помню, чтобы была определенная функция, но можно выцепить информацию о таблице с помощью SQL-запроса:
SHOW COLUMNS FROM table_name [FROM database_name]
или SHOW FIELDS...

На основе результатов можно сформировать CREATE TABLE...

Как сгенерировать INSERT... я думаю понятно ^_^
Название: Дамп Mysql базы
Отправлено: amigo от 05 Ноября 2003, 13:42:25
dan3k хотя можно запсукать mysqldump, а вывод ловить скриптом...
Название: Дамп Mysql базы
Отправлено: Chs от 05 Ноября 2003, 14:09:47
Цитировать
И как mysqldump запустить с помощью DBI?

Отвечаю четко на вопрос: никак.
Название: Дамп Mysql базы
Отправлено: fidget от 05 Ноября 2003, 14:37:19
Цитировать
amigo:
SHOW COLUMNS FROM table_name [FROM database_name]
или SHOW FIELDS...

На основе результатов можно сформировать CREATE TABLE...


ну если уже CREATE TABLE нужно, то тогда сразу SHOW CREATE TABLE и использовать.
Название: Дамп Mysql базы
Отправлено: amigo от 05 Ноября 2003, 14:55:38
fidget да. Просто торможу.