web-dev-qa-db-fra.com

Comment obtenir un script de création de table dans MySQL Workbench?

Je reviens au navigateur de requêtes MySQL de MySQL GUI Tools car je ne trouve pas le raccourci pour obtenir le script de création d'un tableau dans MySQL Workbench.

66
Jader Dias

Je ne trouve pas non plus une telle option, du moins dans l’édition communautaire.

Je suppose que cela correspond à la fonctionnalité Reverse Engineering, qui, malheureusement, n’est disponible que dans l’édition commerciale (citant):

le reverse engineering d’une base de données directement à partir d’un serveur MySQL s’applique uniquement aux versions commerciales de MySQL Workbench .


Vous pouvez néanmoins utiliser le langage SQL pour obtenir l’instruction create table Qui vous permettra de créer une table.

Par exemple, la requête suivante:

show create table url_alias;

lorsqu’il est exécuté sur une base de données drupal), donnerait, lorsqu’on utilise right click > copy field content sur le résultat:

'CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '''',
  `dst` varchar(128) NOT NULL default '''',
  `language` varchar(12) NOT NULL default '''',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8'

Malheureusement (encore), MySQL Workbench ajoute des guillemets partout lors de la copie de cette manière :-(


EDIT: MySQL 8.0 permet de redresser click > copy field (unquoted) sur le résultat pour obtenir le résultat souhaité sans guillemets.


Au final, la solution la plus simple, à l'exception de rester avec MySQL Query Browser, consistera très probablement en une connexion à la base de données, à l'aide du client en ligne de commande, et en exécutant le show create table Requête à partir de là:

mysql> show create table url_alias\G
*************************** 1. row ***************************
       Table: url_alias
Create Table: CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '',
  `dst` varchar(128) NOT NULL default '',
  `language` varchar(12) NOT NULL default '',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

Obtenir " la bonne partie" de la sortie est plus facile, il n'y a pas de devis à supprimer.



Et, par souci d’exhaustivité, vous pouvez également utiliser mysqldump pour obtenir la structure de votre table:

mysqldump --no-data --user=USERNAME --password=PASSWORD --Host=HOST DATABASE_NAME TABLE_NAME

En utilisant le commutateur --no-data, Vous obtiendrez seulement la structure -- au milieu de certains paramètres de mode et tout ça.

114
Pascal MARTIN

Pour obtenir le script de création d'une table individuelle, cliquez avec le bouton droit de la souris sur le nom de la table, puis cliquez sur Copier dans le Presse-papiers> Créer une déclaration.

Pour activer l'option Fichier> Transférer l'ingénierie SQL_CREATE Script .. et obtenir le script de création pour l'ensemble de votre base de données:

  1. Base de données> Reverse engineering (Ctrl + R)
  2. Suivez les étapes pour créer le diagramme EER
  3. Lors de l'affichage du diagramme EER, cliquez sur Fichier> Transférer le script SQL_CREATE d'ingénierie avancée ... (Ctrl + Maj + G).
46
phil mccullick

Cliquez avec le bouton droit sur la table correspondante et choisissez l'une des options suivantes:

  • Copier dans le Presse-papiers> Créer une déclaration
  • Envoi à l'éditeur SQL> Créer une instruction

Cela semble aller pour moi.

19
Cez

Il se situe dans l'administration du serveur plutôt que dans le développement SQL.

  • Dans l'écran d'accueil, sélectionnez l'instance de serveur de base de données sur laquelle se trouve votre base de données dans la section d'administration du serveur, à l'extrême droite.
  • Dans le menu de droite, sélectionnez Data Export.
  • Sélectionnez la base de données que vous souhaitez exporter et choisissez un emplacement.
  • Cliquez sur démarrer l'exportation.
5
aronkerr

show create table

4
user21884

Je suis venu ici pour chercher la réponse à la même question. Mais j'ai trouvé une bien meilleure réponse moi-même.

In the tables list, if you right-click on the table name there is a suite of CRUD script generation options in "Send to SQL Editor". You can select multiple tables and take the same approach too.

Ma version de MySQL Workbench: 5.2.37

3
exception

Je ne sais pas si j'ai bien compris votre problème, mais s’il s’agit uniquement de créer des scripts d’exportation, vous devez transférer le projet Engineer vers le script SQL - Ctrl + Maj + G ou Fichier -> Exporter -> première option.

3
bbb

Dans "Vue d'ensemble du modèle" ou "Diagramme", cliquez avec le bouton droit de la souris sur la table pour afficher les options suivantes: "Copier Insérer dans le presse-papier" OR "Copier SQL dans le presse-papier"

1
Urias BT

Solution pour MySQL Workbench 6.3E

  • Sur le panneau central, cliquez sur l'étiquette DDL.
1
Caat c

1 commande d'utilisation

show create table test.location

enter image description here

  1. faites un clic droit sur la ligne sélectionnée et choisissez Ouvrir une valeur dans le visualiseur

  2. sélectionnez l'onglet Texte enter image description here

1
MrBii

Je ne sais pas si cela reste un problème, mais pour moi dans la version 5.2.35CE, il est possible d’obtenir les scripts de création en:

  1. Base de données -> Reverse engineering

  2. Sous connexion stockée, choisissez votre base de données

  3. Appuyez sur "Suivant" plusieurs fois, choisissez le schéma que vous souhaitez inverser, puis laissez l'outil fonctionner.

  4. Vous obtiendrez une vue "Diagramme EER" avec tout le schéma de la base de données. Si vous faites un clic droit sur la table qui vous intéresse et choisissez "Copier SQL dans le presse-papier", je pense que vous aurez ce qu'il vous faut.

J'espère que cela aidera quelqu'un d'autre qui en a besoin.

1
madchedar0
  1. Ouvrez MySQL Workbench (6.3 CE)
  2. Dans "Navigator", sélectionnez "Management"
  3. Puis sélectionnez "Data Export" (Sélectionnez ici la table dont vous souhaitez exporter le script de création)
  4. Dans le menu déroulant, sélectionnez "Structure et données de vidage"
  5. Cochez la case "Inclure la création de schéma"
  6. Cliquez sur le bouton "Démarrer l'exportation". Une fois l'exportation terminée, le fichier exporté sera affiché à l'emplacement où vous l'avez sauvegardé. Accédez à l'emplacement et ouvrez le fichier exporté pour rechercher le script de création de table.

Ou vérifiez https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html

0
MERLIN THOMAS

Vous pouvez utiliser MySQL Proxy et ses système de script pour afficher les requêtes SQL en temps réel dans le terminal.

0
Alan Gabriel Bem