MySQL

MySQL: Как скопировать данные с одной таблицы в другую

Копирование полностью всех данных из одной таблицы mysql в другую:

INSERT INTO `db`.`table_to`
SELECT *
FROM `db`.`table_from` ;

Если необходимо скопировать только некоторые столбцы, то применяем следующую конструкцию:

INSERT INTO `db`.`table_to` (`a1_2`, `a2_2`, `a3_2`, `a4_2`)
SELECT `a1`, `a2`, `a3`, `a4`
FROM `db`.`table_from` ;

Для копирования данных из одной таблицы MySQL в другую по условию:

INSERT INTO `db`.`table_to` (`a1_2`, `a2_2`, `a3_2`, `a4_2`)
SELECT `a1`, `a2`, `a3`, `a4`
FROM `db`.`table_from`
WHERE  `a2` < '2014-04-30 11:37:38';

db — имя базы.
table_to — таблица куда копируем.
table_from — таблица откуда копируем.

Насколько полезным был этот пост?

Нажмите на звезду, чтобы оценить!

Средний рейтинг 4.4 / 5. Голосов: 21

Пока оценок нет! Будьте первым, поставь свою оценку этому посту.

Мы сожалеем, что этот пост не был полезен для вас!

Давайте улучшим этот пост!

Расскажите, как мы можем улучшить этот пост?

Теги
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

12 Комментарий
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Andrey
Andrey
08.05.2018 17:27

А вообще супер !!!! ПОМОГ !!!

Andrey
Andrey
08.05.2018 17:27

Спасибо Но много пришлось ручками набирать, Все поля перечислял —-а нет такой автомат. функции в самом phpMyAdmin ?

Дмитрий
Дмитрий
16.09.2017 16:17

Александр.
У меня задача, как-то пометить эту запись. Например добавить в поле a5_2 число 5. В select его нет? Куда вставить эти 5.
INSERT INTO `db`.`table_to` (`a1_2`, `a2_2`, `a3_2`, `a4_2`, `a5_2`)
SELECT `a1`, `a2`, `a3`, `a4`
FROM `db`.`table_from` ;

Константин
Константин
Reply to  Дмитрий
24.12.2017 10:52

То есть так:

INSERT INTO `db`.`table_to` (`a1_2`, `a2_2`, `a3_2`, `a4_2`, `a5_2`)
SELECT `a1`, `a2`, `a3`, `a4`, REPLACE(`a5`, `a5`, ‘5’)
FROM `db`.`table_from` ;

Константин
Константин
Reply to  Дмитрий
24.12.2017 10:49

Вроде так можно:

INSERT INTO `db`.`table_to` (`a1_2`, `a2_2`, `a3_2`, `a4_2`, `a5_2`)
SELECT `a1`, `a2`, `a3`, `a4`, REPLACE(`a4`, `a4`, ‘5’)
FROM `db`.`table_from` ;

Гуру ***
Гуру ***
02.11.2016 14:41

Недовольные, какого хрена вы здесь делаете? Если вы не знаете, куда это вставлять, то начинайте читать учебник по MySQL с главы 1. Тут вам пока что рано читать

Наталя Квітка
Наталя Квітка
12.09.2016 16:38

Спасибо, Александр, за четкий и понятный код

Vasya
Vasya
22.01.2016 16:00

Что бы тебе жилось долго, и люди рождаясь понимамали, куда вставлять это всё, что ты тут вымочил!

Traver
Traver
Reply to  Vasya
26.01.2016 10:37

ТЫ и правда ВАСЯ!

Дмитрий
Дмитрий
Reply to  alexnettm
02.06.2016 14:00

приветствую. не подскажете в какую часть кода, это вставлять? Где надо писать то, что написали Вы?

Back to top button
12
0
Would love your thoughts, please comment.x
()
x
Close
Close