Копирование столбцов из одной таблицы в другую (компонент Database Engine)
В этом разделе описывается копирование столбцов из одной таблицы в другую с копированием только определения столбца или определения и данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
В этом разделе
- Перед началом работыОграниченияБезопасность
- Копирование столбцов с помощью:Среда SQL Server Management StudioTransact-SQL
Перед началом
Ограничения
При копировании из одной базы данных в другую столбца, имеющего псевдоним типа данных, исходный тип данных в целевой базе данных может оказаться недоступным. В этом случае столбцу будет назначен ближайший подходящий базовый тип данных, доступный в целевой базе данных.
Безопасность
Разрешения
Требуется разрешение ALTER на таблицу.
Использование среды SQL Server Management Studio
Копирование определения столбца из одной таблицы в другую
- Щелкнув правой кнопкой мыши, откройте таблицу со столбцами, предназначенными к копированию, и таблицу, в которую необходимо выполнить копирование, затем нажмите кнопку Разработка.
- Выберите вкладку исходной таблицы и выделите нужные столбцы.
- В меню Правка выберите Копировать.
- Выберите вкладку таблицы, в которую требуется скопировать столбцы.
- Выделите столбец, после которого нужно поместить вставляемые столбцы, и в меню Правка выберите Вставить.
Копирование данных из одной таблицы в другую
- Следуйте приведенным выше инструкциям для копирования определения столбцов.
Примечание Прежде чем скопировать данные из одной таблицы в другую, убедитесь, что типы данных целевых столбцов совместимы с типами данных исходных.
Использование Transact-SQL
Копирование определения столбца из одной таблицы в другую
- Нельзя копировать отдельные столбцы из одной таблицы в другую (существующую) с использованием инструкций Transact-SQL. Однако можно создать новую таблицу в файловой группе по умолчанию и вставить в нее результирующие строки из запроса с помощью инструкции SELECT INTO. Дополнительные сведения см. в разделе Предложение INTO (Transact-SQL).
Копирование данных из одной таблицы в другую
- В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
- На стандартной панели выберите пункт Создать запрос.
- Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO CREATE TABLE dbo.EmployeeSales ( BusinessEntityID varchar(11) NOT NULL, SalesYTD money NOT NULL ); GO INSERT INTO dbo.EmployeeSales SELECT BusinessEntityID, SalesYTD FROM Sales.SalesPerson; GO
Как сделать перенос данных с одной таблицы в другую?
Подскажите, каким запросом перенести данные с одной таблицы в другую? Две таблицы полностью идентичны, но записи с теми же ключами в целевой таблице могут уже присутствовать. Структура обоих таблиц:
dle_post (id int primary key, col1, col2, . )
Нужно перенести записи в таблице dle_post в таблицу dlew_post . Так получаю ошибку:
insert into dlew_post select * from dle_post
#1062 — Дублирующаяся запись ’50’ по ключу ‘PRIMARY’
Отслеживать
51.6k 200 200 золотых знаков 61 61 серебряный знак 242 242 бронзовых знака
задан 11 апр 2021 в 21:59
Виталий Мукменёв Виталий Мукменёв
5 1 1 серебряный знак 4 4 бронзовых знака
insert into table1 select * from table2
11 апр 2021 в 22:19
так может стоит описывать проблему целиком, а не просто «как перенести». добавлю я в этот запрос джойн чтоб исключить совпадения ключей, а вы напишите, что совпадения надо проапдейтить, а не игнорировать. Сформулируйте нормально что есть, что надо сделать и что в результате хотите получить
MySQL — как вставить данные из одной таблицы в другую?

Скопировать данные из одной таблицы в другую в базе данных MySQL полностью или частично очень просто. Далее рассмотрим несколько вариантов копирования данных.
Итак, чтобы полностью скопировать данные из одной таблицы в другую достаточно такого запроса:
INSERT INTO table_to
SELECT * FROM table_from
Вместо table_to и table_from подставляете названия своих таблиц и все получится.
Скопировать только некоторые столбцы из одной таблицы в другую можно таким запросом:
INSERT INTO table_to (`col1`, `col2`, `col2`)
SELECT `a1`, `a2`, `a3` FROM table_from
И последний вариант, копирование данных из таблицы в таблицу по какому-либо условию:
INSERT INTO table_to (`col1`, `col2`, `col2`)
SELECT `a1`, `a2`, `a3` FROM table_from WHERE `a1` > 100;
Выполнить данные запросы можно с помощью phpAdmin или любого другого mysql-менеджера. На этом все, до новых встреч!
Перенос данных из одной таблицы в другую?
Суть вопроса такова.
Есть три базы!
Две из которых нужно добавить в одну.
Каждая база имеет разные столбцы.
1 база id, name, pass, type, email
2 база id, user, password, ip, email
3 база (В которую нужно добавить базы выше) id, username, password, email, ip, db
Как это реализовать!?
К примеру если в 1 базе нету ip,email то будет добавлять null
Возможно ли такое сделать?
- Вопрос задан более трёх лет назад
- 19728 просмотров
Комментировать
Решения вопроса 1
Stalker_RED @Stalker_RED
Вы пишете «база», а на самом деле таблица?
INSERT INTO tbl3 (username, password, email, ip) SELECT name, pass, email, null FROM tbl1
INSERT INTO tbl3 (username, password, email, ip) SELECT user, password, email, ip FROM tbl2
Если email есть в первой и второй, но при этом мыле разные name и ip, то можно сделать email уникальным полем, и вторую таблицу вставлять при помощи on duplicate key update.