sql >> Databáze >  >> RDS >> Mysql

Jak získat skript pro vytváření tabulek v MySQL Workbench?

Nemohu najít ani takovou možnost, alespoň v komunitní verzi.

Předpokládám, že to odpovídá reverznímu inženýrství funkce, která je bohužel dostupná pouze v komerční verzi (cituji) :


Přesto můžete použít plain-SQL k získání create table instrukce, která vám umožní vytvořit tabulku.

Například následující dotaz:

show create table url_alias;

při spuštění v databázi drupal by to dalo, když použijete pravé click > copy field content na výsledku :

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

Bohužel (opět) , MySQL Workbench při kopírování tímto způsobem všude přidává nějaké uvozovky :-(

UPRAVIT:Při použití MySQL 8.0 existuje možnost click > copy field (unquoted) na výsledek, abyste získali požadovaný výsledek bez uvozovek.


Nakonec to nejjednodušší řešením, kromě toho, že zůstanete u MySQL Query Browser, bude s největší pravděpodobností připojení k databázi pomocí klienta příkazového řádku a spuštění show create table dotaz odtud:

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)

Získání „správné části "" výstupu je jednodušší, není zde žádný citát k odstranění.


A jen pro úplnost můžete také použít mysqldump získat strukturu tabulky:

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

Pomocí --no-data přepínač, získáte pouze strukturu -- uprostřed nastavení některých režimů a toho všeho .



  1. Doporučené postupy pro měkké odstranění (PHP/MySQL)

  2. Jak zabezpečit MySQL:Část první

  3. Proveďte dynamický křížový dotaz

  4. Jak funguje SEC_TO_TIME() v MariaDB