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. Голосов: 55

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

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

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

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

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

13 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
trackback
05/18/2021 1:51 AM

[…] Источник […]

Andrey
Andrey
05/08/2018 5:27 PM

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

Andrey
Andrey
05/08/2018 5:27 PM

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

Дмитрий
Дмитрий
09/16/2017 4:17 PM

Александр.
У меня задача, как-то пометить эту запись. Например добавить в поле 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  Дмитрий
12/24/2017 10:52 AM

То есть так:

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  Дмитрий
12/24/2017 10:49 AM

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

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` ;

Гуру ***
Гуру ***
11/02/2016 2:41 PM

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

Наталя Квітка
Наталя Квітка
09/12/2016 4:38 PM

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

Vasya
Vasya
01/22/2016 4:00 PM

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

Traver
Traver
Reply to  Vasya
01/26/2016 10:37 AM

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

Дмитрий
Дмитрий
Reply to  alexnettm
06/02/2016 2:00 PM

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

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