Как скопировать таблицу между двумя моделями в Mysql Workbench?

Я делаю какую-то конкретную вещь, мне нужно скопировать одну таблицу из одной модели в другую, но я пытаюсь многими способами, но безрезультатно. Есть ли способ сделать это?

10 ответов

Решение

Наилучшим вариантом, вероятно, является создание урезанной версии модели, содержащей объекты, которые вы хотите перенести. Затем откройте целевую модель и запустите File -> Include Model..., Выберите урезанную исходную модель и все.

Если вы просто хотите сделать одну таблицу через MySQL Workbench.

В MySQL Workbench:

  1. Подключиться к серверу MySQL
  2. Расширить базу данных
  3. Щелкните правой кнопкой мыши на столе
  4. Выберите Скопировать в буфер обмена
  5. Выберите Создать заявление

Оператор 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;

Создать таблицу в новой базе данных

  1. Откройте новую вкладку SQL для выполнения запросов (Файл-> Новая вкладка запроса)
  2. Измените код создания таблицы, чтобы включить базу данных для создания таблицы.

     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;

  3. Затем нажмите кнопку "Выполнить" (выглядит как молния)

Это скопирует схему таблицы из одной базы данных в другую, используя MySQL. Просто обновите таблицы в базе данных, и вы увидите новую добавленную таблицу.

  1. Выберите вкладку с исходной базой данных
  2. В меню: Сервер-> Экспорт данных
  3. Выберите схему и таблицу в качестве объекта схемы
  4. Выберите опцию "Экспорт в автономный файл" и установите флажок "Создать дамп в отдельной транзакции" (только автономный)
  5. Скопировать полный путь к файлу в буфер обмена
  6. Начать экспорт
  7. Выберите вкладку с целевой базой данных
  8. В меню: Сервер-> Импорт данных. Убедитесь, что имя вашей целевой базы данных находится в верхнем левом углу представления "Импорт данных".
  9. Выберите Импорт из автономного файла и вставьте полный путь к файлу из буфера обмена.
  10. Выберите целевую схему по умолчанию
  11. Выберите содержимое дампа (структура дампа, данные и т. Д.)
  12. Начать импорт

Вы можете просто использовать оператор выбора. Здесь я создаю дубликат таблицы "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;

Я думаю, что стоит упомянуть, что

  1. скопированная таблица может ссылаться на поля в таблицах исходной схемы, которые не существуют, в схеме, в которую она должна быть скопирована. Было бы неплохо проверить таблицу на наличие этих несоответствий, прежде чем добавлять ее в другую схему.
  2. это, вероятно, хорошая идея, чтобы проверить совместимость движка (например, InnoDB против MyISAM) и набор символов.

Шаг 1: щелкните правой кнопкой мыши таблицу> скопировать в буфер обмена> создать оператор

Шаг 2: вставьте буфер обмена в поле запроса рабочей среды.

шаг 3: удалите (``) из имени таблицы и имени модели (схемы), за которым следует точка.

например: `cusine_menus` -> имя_схемы.cusine_menus

выполнять

Если вы уже создали свою таблицу и просто хотите скопировать данные, я бы рекомендовал использовать "Мастер экспорта данных" и "Мастер импорта данных". Он в основном выбирает вещи в программе для экспорта, а затем импорта данных и прост в использовании.

У MySQL есть статья о мастерах здесь: Мастер экспорта и импорта табличных данных

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

  1. Найдите в списке таблицу, из которой вы хотите скопировать данные.
  2. Щелкните правой кнопкой мыши и выберите "Мастер экспорта табличных данных".
  3. Выберите столбцы, которые вы хотите скопировать.
  4. Выберите место для сохранения файла *.csv или *.json с скопированными данными.

  5. Найдите таблицу для вставки скопированных данных.

  6. Щелкните правой кнопкой мыши и выберите "Мастер импорта данных таблицы".
  7. Выберите файл, который вы только что экспортировали.
  8. Сопоставьте столбцы из таблицы, из которой вы скопировали, с таблицей, в которую вы вставили.
  9. Нажмите "Готово". Данные вставляются по вашему выбору.

Создать таблицу.m_property_nature как.m_property_nature;

INSERT INTO.m_property_nature SELECT * from.m_property_nature;

Вы можете получить запрос к таблице ящиков из информации таблицы и использовать один и тот же запрос для другого экземпляра базы данных.

  1. показать создать таблицу TABLENAME.content и скопировать запрос;
  2. Запустите сгенерированный запрос на другом подключенном экземпляре Db.
Другие вопросы по тегам