web-dev-qa-db-fra.com

Comment copier un tableau entre deux modèles dans Mysql Workbench?

Je fais quelque chose de base de données, j'ai besoin de copier une table d'un modèle à un autre, mais j'essaie de nombreuses façons il n'y a aucun effet . Y at-il un moyen de le faire?

19
DraculaW

La meilleure solution consiste probablement à créer une version simplifiée du modèle contenant les objets que vous souhaitez reporter. Ouvrez ensuite le modèle cible et exécutez File -> Include Model.... Sélectionnez le modèle source dépouillé et le tour est joué.

19
Mike Lischke

Si vous voulez juste faire une seule table avec MySQL Workbench.

Dans MySQL Workbench:

  1. Se connecter à un serveur MySQL
  2. Développer une base de données
  3. Clic droit sur une table
  4. Sélectionnez Copier dans le Presse-papiers
  5. Sélectionnez Créer une déclaration

Une instruction create pour la table sera copiée dans votre presse-papiers de la même manière que ci-dessous:

   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;

Créer la table dans la nouvelle base de données

  1. Ouvrez un nouvel onglet SQL pour exécuter des requêtes (Fichier-> Nouvel onglet de requête)
  2. Modifiez le code de création de table pour inclure la base de données sur laquelle créer la table.

     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. Puis cliquez sur le bouton Exécuter (qui ressemble à un éclair)

Cela copiera le schéma de table d’une base de données à une autre à l’aide du plan de travail MySQL. Actualisez simplement les tables de la base de données et vous devriez voir votre table nouvellement ajoutée

18
Ricky Hewitt
  1. Sélectionnez l'onglet avec la base de données source 
  2. Dans le menu: Serveur-> Exporter des données
  3. Sélectionnez le schéma et la table en tant qu'objet de schéma
  4. Sélectionnez l'option Exporter vers un fichier autonome et cochez Créer un vidage dans une transaction unique (autonome uniquement).
  5. Copier le chemin complet du fichier dans le presse-papier
  6. Lancer l'exportation
  7. Sélectionnez l'onglet avec la base de données cible 
  8. Dans le menu: Serveur-> Importation de données. Assurez-vous que le nom de votre base de données cible se trouve dans le coin supérieur gauche de la vue Importation de données.
  9. Sélectionnez Importer à partir d'un fichier autonome et coller le chemin d'accès complet du presse-papiers.
  10. Sélectionnez le schéma cible par défaut
  11. Sélectionner le contenu du cliché (structure et données du cliché, etc.)
  12. Lancer l'importation 
9
x1z1x

Je pense qu'il convient de mentionner que 

  1. une table copiée peut référencer des champs dans les tables du schéma d'origine, qui n'existent pas, dans le schéma où elle doit être copiée. Il peut être judicieux d’inspecter ces écarts dans la table avant de l’ajouter à l’autre schéma.
  2. c'est probablement une bonne idée de vérifier la compatibilité du moteur (par exemple, InnoDB vs MyISAM) et le jeu de caractères.
3
constant283

créer la table .m_property_nature comme .m_property_nature; 

INSERT INTO .m_property_nature SELECT * à partir de .m_property_nature;

0
Vinod Joshi

Vous pouvez obtenir la requête de table de caisse à partir d'informations de table et utiliser la même requête sur une instance de base de données différente.

  1. affichez la table de création TABLENAME.content et copiez la requête;
  2. Exécutez la requête générée sur une autre instance de base de données connectée.
0
Tarun Voora

Vous pouvez simplement utiliser une instruction select. Ici, je crée un duplicata de la table "original_table" du schéma/base de données "original_schema" au schéma "new_schema": 

CREATE TABLE new_schema.duplicate_table AS
Select * from original_schema.original_table;

Vous pouvez simplement mettre n'importe quelle instruction select dont vous avez besoin, ajouter une condition et sélectionner les colonnes: 

CREATE TABLE new_schema.duplicate_table AS
SELECT column1, column2       
FROM original_schema.original_table
WHERE column2 < 11000000;
0
Mnl