Перенос данных из таблицы в таблицу
Подробности- Подробности
- Категория: MySQL
- Просмотров: 12797
Возможны два варианта:
1. Таблицы находятся в одной базе
2. Таблицы находятся в разных базах
Для обоих случаев подойдет этот метод.
Допустим есть таблица table1 с полями t1_id, t1_name, t1_value. Данные хранящиеся в этой таблице нужно перенести в таблицу table2 с полями t2_id, t2_name, t2_value. Названия таблиц и полей могут быть одинаковыми (если в разных БД), а могут быть и одинаковыми.
Второй вариант проще, нужно просто через phpmyadmin сделать экспорт таблицы, а во второй БД импорт.
Теперь рассмотрим случай, когда поля и название таблицы отличается. Для начала сделаем экспорт первой таблицы
Получим чтото вроде этого
--
-- База данных: `bd1`
--
-- --------------------------------------------------------
--
-- Структура таблицы `t1`
--
CREATE TABLE IF NOT EXISTS `t1` (
`t1_id` int(11) NOT NULL AUTO_INCREMENT,
`t1_name` varchar(50) NOT NULL,
`t1_value` int(11) NOT NULL,
PRIMARY KEY (`t1_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
--
-- Дамп данных таблицы `t1`
--
INSERT INTO `t1` (`t1_id`, `t1_name`, `t1_value`) VALUES
(1, 'Ivan', 10),
(2, 'Sergey', 1),
(3, 'Vova', 5),
(4, 'Lena', 50),
(5, 'Masha', 30);
Если таблица не создана, то можно просто заменить в скрипте название таблицы и полей, чтобы получилось так:
--
-- База данных: `bd1`
--
-- --------------------------------------------------------
--
-- Структура таблицы `t2`
--
CREATE TABLE IF NOT EXISTS `t2` (
`t2_id` int(11) NOT NULL AUTO_INCREMENT,
`t2_name` varchar(50) NOT NULL,
`t2_value` int(11) NOT NULL,
PRIMARY KEY (`t2_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
--
-- Дамп данных таблицы `t1`
--
INSERT INTO `t2` (`t2_id`, `t2_name`, `t2_value`) VALUES
(1, 'Ivan', 10),
(2, 'Sergey', 1),
(3, 'Vova', 5),
(4, 'Lena', 50),
(5, 'Masha', 30);
Если таблица уже есть и нужно перенести данные, то оставляем только дамп данных таблицы и у нас получится:
-- Дамп данных таблицы `t2`
--
INSERT INTO `t2` (`t2_id`, `t2_name`, `t2_value`) VALUES
(1, 'Ivan', 10),
(2, 'Sergey', 1),
(3, 'Vova', 5),
(4, 'Lena', 50),
(5, 'Masha', 30);