83

MySQL Workbench でテーブル作成スクリプトを取得するためのショートカットが見つからないため、MySQL GUI Tools の MySQL Query Browser にロールバックしています。

4

13 に答える 13

147

少なくともコミュニティ版では、そのようなオプションも見つかりません。

これは、残念ながら商用版でしか利用できないリバースエンジニアリング機能に対応していると思います(引用)

MySQL サーバーから直接データベースをリバース エンジニアリングすることは、MySQL Workbench の商用バージョンにのみ適用されます


それでも、プレーン SQL を使用create tableして、テーブルを作成できるようにする命令を取得できます。

たとえば、次のクエリ:

show create table url_alias;

drupal データベースで実行するとclick > copy field content、結果に対して権利を使用すると、次のようになります。

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

残念なことに(再び)、MySQL Workbench は、こ​​の方法でコピーすると、あらゆる場所にいくつかの引用符を追加します :-(


click > copy field (unquoted)編集:MySQL 8.0 を使用すると、引用符なしで目的の結果を得るために、結果を正しく処理するオプションがあります。


最後に、MySQL Query Browser を使用する以外の最も簡単なshow create table解決策は、コマンドライン クライアントを使用してデータベースに接続し、そこからクエリを実行することです。

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)

出力の「適切な部分」を取得する方が簡単です。削除する引用はありません。



そして、完全を期すためmysqldumpに、テーブルの構造を取得するために使用することもできます:

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

--no-dataスイッチを使用すると、いくつかのモード設定とそのすべての途中で、構造のみが取得されます。

于 2010-03-19T18:01:08.330 に答える
55

個々のテーブルの作成スクリプトを取得するには、テーブル名を右クリックし、[クリップボードにコピー] > [ステートメントの作成] をクリックします。

[File] > [Forward Engineering SQL_CREATE Script..] オプションを有効にして、データベース全体の作成スクリプトを取得するには:

  1. データベース > リバース エンジニアリング (Ctrl+R)
  2. 手順に従って EER 図を作成します
  3. EER ダイアグラムを表示しているときに、[ファイル] > [Forward Engineering SQL_CREATE Script...] (Ctrl+Shift+G) をクリックします。
于 2011-05-19T18:24:28.543 に答える
28

関連するテーブルを右クリックし、次のいずれかを選択します。

  • クリップボードにコピー > ステートメントの作成
  • SQL エディターに送信 > ステートメントの作成

それは私にはうまくいくようです。

于 2010-07-13T22:09:50.073 に答える
6

これは、SQL開発ではなくサーバー管理にあります。

  • ホーム画面で、右端のサーバー管理セクションからデータベースが配置されているデータベースサーバーインスタンスを選択します。
  • 右側のメニューから[データのエクスポート]を選択します。
  • エクスポートするデータベースを選択し、場所を選択します。
  • [エクスポートの開始]をクリックします。
于 2012-12-07T23:21:20.487 に答える
5

同じ質問に対する答えを探してここに来ました。しかし、私は自分でもっと良い答えを見つけました。

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.

MySQL Workbench の私のバージョン: 5.2.37

于 2012-06-13T15:31:23.517 に答える
5

単純に使用します:

show create table <table_name>
于 2010-03-18T21:27:17.847 に答える
3

問題を完全に理解したかどうかはわかりませんが、エクスポート スクリプトを作成するだけの場合は、エンジニアを SQL スクリプトに転送する必要があります - Ctrl + Shift + G または File -> Export -> 最初のオプション。

于 2010-03-12T13:59:58.573 に答える
2

1 使用コマンド

show create table test.location

ここに画像の説明を入力

  1. 選択した行を右クリックし、ビューアで値を開くを選択します

  2. タブのテキストを選択 ここに画像の説明を入力

于 2015-11-19T04:30:04.927 に答える
1

「モデルの概要」または「図」でテーブルを右クリックすると、「挿入をクリップボードにコピー」または「SQLをクリップボードにコピー」のオプションが表示されます。

于 2011-06-24T15:01:59.350 に答える
1

これがまだ問題かどうかはわかりませんが、私にとって 5.2.35CE では、次の方法で作成スクリプトを取得できます。

  1. データベース --> リバース エンジニアリング

  2. 保存された接続の下で、データベースを選択します

  3. [次へ] を数回押して、リバース エンジニアリングするスキーマを選択し、ツールを機能させます。

  4. すべての DB のスキーマを含む「EER ダイアグラム」ビューが表示されます。気になるテーブルを右クリックし、「SQL をクリップボードにコピー」を選択すると、必要なものが得られると思います。

うまくいけば、これはそれを必要とする他の誰かを助けるでしょう.

于 2012-04-11T00:02:44.503 に答える