it-swarm.com.ru

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

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

19
DraculaW

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

19
Mike Lischke

Если вы просто хотите сделать одну таблицу через 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. Просто обновите таблицы в базе данных, и вы увидите новую добавленную таблицу.

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

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

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

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

INSERT INTO .m_property_nature SELECT * from .m_property_nature;

0
Vinod Joshi

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

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

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