sql >> Database teknologi >  >> RDS >> Mysql

Hvordan får man et tabeloprettelsesscript i MySQL Workbench?

Jeg kan heller ikke finde sådan en mulighed, i hvert fald i Fællesskabets udgave.

Jeg formoder, at dette svarer til Reverse Engineering funktion, som desværre kun er tilgængelig i den kommercielle udgave (citat) :


Du kan stadig bruge plain-SQL til at få create table instruktion, der giver dig mulighed for at oprette en tabel.

For eksempel følgende forespørgsel:

show create table url_alias;

når den udføres på en drupal-database, vil det give, når du bruger højre click > copy field content på resultatet :

'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'

Desværre (igen) , MySQL Workbench tilføjer nogle citater overalt, når du kopierer på denne måde :-(

EDIT:Ved at bruge MySQL 8.0 er der mulighed for at højreklikke på click > copy field (unquoted) på resultatet for at få det ønskede resultat uden anførselstegn.


I sidste ende er det enkleste løsning, bortset fra at blive med MySQL Query Browser, vil højst sandsynligt være at oprette forbindelse til databasen ved hjælp af kommandolinjeklienten og udføre show create table forespørgsel derfra :

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)

Får "den rigtige portion " af outputtet er lettere, der:ingen citat at fjerne.


Og for fuldstændighedens skyld kan du også bruge mysqldump for at få dit bords struktur :

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

Brug af --no-data switch, får du kun strukturen -- midt i nogle tilstandsindstillinger og alt det der .



  1. Sammensat indeks for en relationstabel

  2. Mysql SELECT inde i OPDATERING

  3. mysql udenlandsk nøgle fejl #1452

  4. Fejl under forsøg på at installere app med mysql2 gem