Как скопировать таблицу между двумя моделями в Mysql Workbench?
Я делаю какую-то конкретную вещь, мне нужно скопировать одну таблицу из одной модели в другую, но я пытаюсь многими способами, но безрезультатно. Есть ли способ сделать это?
10 ответов
Наилучшим вариантом, вероятно, является создание урезанной версии модели, содержащей объекты, которые вы хотите перенести. Затем откройте целевую модель и запустите File -> Include Model...
, Выберите урезанную исходную модель и все.
Если вы просто хотите сделать одну таблицу через MySQL Workbench.
В MySQL Workbench:
- Подключиться к серверу MySQL
- Расширить базу данных
- Щелкните правой кнопкой мыши на столе
- Выберите Скопировать в буфер обмена
- Выберите Создать заявление
Оператор create для таблицы будет скопирован в буфер обмена, как показано ниже:
CREATE TABLE `cache` (
`cid` varchar(255) NOT NULL DEFAULT '',
`data` longblob,
`expire` int(11) NOT NULL DEFAULT '0',
`created` int(11) NOT NULL DEFAULT '0',
`headers` text,
`serialized` smallint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`cid`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Создать таблицу в новой базе данных
- Откройте новую вкладку SQL для выполнения запросов (Файл-> Новая вкладка запроса)
Измените код создания таблицы, чтобы включить базу данных для создания таблицы.
CREATE TABLE `databaseName`.`cache` ( `cid` varchar(255) NOT NULL DEFAULT '', `data` longblob, `expire` int(11) NOT NULL DEFAULT '0', `created` int(11) NOT NULL DEFAULT '0', `headers` text, `serialized` smallint(6) NOT NULL DEFAULT '0', PRIMARY KEY (`cid`), KEY `expire` (`expire`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Затем нажмите кнопку "Выполнить" (выглядит как молния)
Это скопирует схему таблицы из одной базы данных в другую, используя MySQL. Просто обновите таблицы в базе данных, и вы увидите новую добавленную таблицу.
- Выберите вкладку с исходной базой данных
- В меню: Сервер-> Экспорт данных
- Выберите схему и таблицу в качестве объекта схемы
- Выберите опцию "Экспорт в автономный файл" и установите флажок "Создать дамп в отдельной транзакции" (только автономный)
- Скопировать полный путь к файлу в буфер обмена
- Начать экспорт
- Выберите вкладку с целевой базой данных
- В меню: Сервер-> Импорт данных. Убедитесь, что имя вашей целевой базы данных находится в верхнем левом углу представления "Импорт данных".
- Выберите Импорт из автономного файла и вставьте полный путь к файлу из буфера обмена.
- Выберите целевую схему по умолчанию
- Выберите содержимое дампа (структура дампа, данные и т. Д.)
- Начать импорт
Вы можете просто использовать оператор выбора. Здесь я создаю дубликат таблицы "original_table" из схемы / базы данных "original_schema" в схему "new_schema":
CREATE TABLE new_schema.duplicate_table AS
Select * from original_schema.original_table;
Вы можете просто поместить любой оператор выбора, который вам нужен, добавить условие и выбрать столбцы:
CREATE TABLE new_schema.duplicate_table AS
SELECT column1, column2
FROM original_schema.original_table
WHERE column2 < 11000000;
В этом посте мы покажем вам, как скопировать таблицу в MySQL.
Во-первых , этот запрос скопирует данные и структуру, но индексы не будут включены:
CREATE TABLE new_table SELECT * FROM old_table;
Во-вторых , этот запрос скопирует структуру таблицы и индексы, но не данные:
CREATE TABLE new_table LIKE old_table;
Итак, чтобы скопировать все, включая объекты базы данных, такие как индексы, ограничение первичного ключа, ограничения внешнего ключа, триггеры и т. Д., Выполните следующие запросы:
CREATE TABLE new_table LIKE old_table;
INSERT new_table SELECT * FROM old_table;
Если вы хотите скопировать таблицу из одной базы данных в другую:
CREATE TABLE destination_db.new_table LIKE source_db.old_table;
INSERT destination_db.new_table
SELECT
*
FROM
source_db.old_table;
Я думаю, что стоит упомянуть, что
- скопированная таблица может ссылаться на поля в таблицах исходной схемы, которые не существуют, в схеме, в которую она должна быть скопирована. Было бы неплохо проверить таблицу на наличие этих несоответствий, прежде чем добавлять ее в другую схему.
- это, вероятно, хорошая идея, чтобы проверить совместимость движка (например, InnoDB против MyISAM) и набор символов.
Шаг 1: щелкните правой кнопкой мыши таблицу> скопировать в буфер обмена> создать оператор
Шаг 2: вставьте буфер обмена в поле запроса рабочей среды.
шаг 3: удалите (``) из имени таблицы и имени модели (схемы), за которым следует точка.
например: `cusine_menus` -> имя_схемы.cusine_menus
выполнять
Если вы уже создали свою таблицу и просто хотите скопировать данные, я бы рекомендовал использовать "Мастер экспорта данных" и "Мастер импорта данных". Он в основном выбирает вещи в программе для экспорта, а затем импорта данных и прост в использовании.
У MySQL есть статья о мастерах здесь: Мастер экспорта и импорта табличных данных
Чтобы скопировать данные с помощью мастеров, выполните следующие действия:
- Найдите в списке таблицу, из которой вы хотите скопировать данные.
- Щелкните правой кнопкой мыши и выберите "Мастер экспорта табличных данных".
- Выберите столбцы, которые вы хотите скопировать.
Выберите место для сохранения файла *.csv или *.json с скопированными данными.
Найдите таблицу для вставки скопированных данных.
- Щелкните правой кнопкой мыши и выберите "Мастер импорта данных таблицы".
- Выберите файл, который вы только что экспортировали.
- Сопоставьте столбцы из таблицы, из которой вы скопировали, с таблицей, в которую вы вставили.
- Нажмите "Готово". Данные вставляются по вашему выбору.
Создать таблицу.m_property_nature как.m_property_nature;
INSERT INTO.m_property_nature SELECT * from.m_property_nature;
Вы можете получить запрос к таблице ящиков из информации таблицы и использовать один и тот же запрос для другого экземпляра базы данных.
- показать создать таблицу TABLENAME.content и скопировать запрос;
- Запустите сгенерированный запрос на другом подключенном экземпляре Db.