|
|
|
| phpmyadmin создает файлик с командами... ну show create table - это понятно... но там еще и куча insert'ов. Как это все делается? Хотелось бы сделать собственную систему дампа.
Я имею ввиду... ведь есть же какая-то команда, которая показывает текущие insert'ы? | |
|
|
|
|
|
|
|
для: Shorr Kan
(22.05.2005 в 04:26)
| | 1) Вообще эти дампы делает утилита mysqldump, если её запуск разрешён для Web-приложения можно воспользоваться ей. Можно так же воспользоваться запросом
SELECT * INTO OUTFILE 'tbl.sql' FROM tbl;
|
Который сохраняет информацию из таблицы tbl в таблицу tbl.sql. Данный запрос имеет так же модификаторы, позволяющие отформатировать строку и отдельные значения, например, по умолчанию стоит перевод одним символом \n, что не очень удобно под Windows, где символ перевода \r\n.
Вот как может выглядеть запрос для составления нужного вам дампа
mysql> SELECT * INTO OUTFILE 'text.sql'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES STARTING BY 'INSERT INTO tbl VALUES(' TERMINATED BY ');\r\n'
FROM tbl
|
Результат может выглядеть примерно так
INSERT INTO tbl VALUES("1","Процессоры");
INSERT INTO tbl VALUES("2","Материнские платы");
INSERT INTO tbl VALUES("3","Видеоадаптары");
INSERT INTO tbl VALUES("4","Жёсткие диски");
INSERT INTO tbl VALUES("5","Оперативная память");
|
Важный момент: файл text.sql создается в директории таблицы, поэтому, если вы хотите получить к нему доступ - здесь следует указывать абсолютный путь к файлу, который должен попадать к вам в виртулаьный каталог (впрочем у MySQL на это может не быть прав).
Второй момент: Файл не должен существовать заранее.
2) Вы можете покопаться в его исходных кодах, раскопки следует начинать с файла export.php.
3) Вы можете написать собственную систему создания дампа или воспользоваться готовой, например, Loki недавно создал такую систему, её вы сможете найти в ссылке по теме.
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=4089 | |
|
|
|