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.
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 :-(
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.
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:
Cliquez avec le bouton droit sur la table correspondante et choisissez l'une des options suivantes:
Cela semble aller pour moi.
Il se situe dans l'administration du serveur plutôt que dans le développement SQL.
show create table
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
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.
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"
Solution pour MySQL Workbench 6.3E
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:
Base de données -> Reverse engineering
Sous connexion stockée, choisissez votre base de données
Appuyez sur "Suivant" plusieurs fois, choisissez le schéma que vous souhaitez inverser, puis laissez l'outil fonctionner.
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.
Ou vérifiez https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html
Vous pouvez utiliser MySQL Proxy et ses système de script pour afficher les requêtes SQL en temps réel dans le terminal.