Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zdobyć skrypt do tworzenia tabel w MySQL Workbench?

Nie mogę też znaleźć takiej opcji, przynajmniej w edycji Community.

Przypuszczam, że odpowiada to inżynierii odwrotnej funkcja, która niestety jest dostępna tylko w wersji komercyjnej (cytat) :


Mimo to możesz użyć zwykłego SQL, aby uzyskać create table instrukcja, która pozwoli ci stworzyć tabelę.

Na przykład następujące zapytanie :

show create table url_alias;

po wykonaniu na drupalowej bazie danych, przy użyciu prawego przycisku click > copy field content na wynik :

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

Niestety (znowu) , MySQL Workbench dodaje kilka cudzysłowów podczas kopiowania w ten sposób :-(

EDYCJA:Używając MySQL 8.0, istnieje możliwość click > copy field (unquoted) na wyniku, aby uzyskać pożądany wynik bez cudzysłowów.


Ostatecznie najprostszy rozwiązaniem, z wyjątkiem pozostania przy MySQL Query Browser, najprawdopodobniej będzie połączenie się z bazą danych za pomocą klienta wiersza poleceń i wykonanie show create table zapytanie stamtąd :

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)

Uzyskiwanie „właściwej części " wyjścia jest prostsze, nie ma :żadnego cytatu do usunięcia.


I, tylko ze względu na kompletność, możesz również użyć mysqldump aby uzyskać strukturę tabeli :

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

Korzystanie z --no-data przełącznik, dostaniesz tylko strukturę - w środku niektórych ustawień trybu i tak dalej .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP i MySQL Jak wyświetlić kategorie dowolne podkategorie z bazy danych

  2. REGEXP z PDO Mysql

  3. MySQL SELECT unikalna kolumna, w której inna kolumna to max

  4. Ustawianie hasła użytkownika root MySQL w systemie OS X

  5. Czy należy używać wartości NULL lub pustego ciągu do reprezentowania żadnych danych w kolumnie tabeli?