web-dev-qa-db-ja.com

MySQL Workbenchでテーブル作成スクリプトを取得する方法は?

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

66
Jader Dias

少なくともCommunityエディションでは、このようなオプションも見つかりません。

これはReverse Engineering機能に対応していると思いますが、残念ながら商用版でしか利用できません(引用)

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はこの方法をコピーするときにどこでも引用符を追加します:-(


編集:MySQL 8.0を使用して、結果にclick > copy field (unquoted)を右付けして、引用符なしで目的の結果を取得するオプションがあります。


最後に、最も単純なソリューションは、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_スイッチを使用すると、構造-いくつかのモード設定とすべてのの途中でのみ取得できます。

114
Pascal MARTIN

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

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

  1. データベース>リバースエンジニアリング(Ctrl + R)
  2. EERダイアグラムを作成する手順を実行します
  3. EERダイアグラムを表示しているときに、「ファイル」>「Forward Engineering SQL_CREATEスクリプト...」(Ctrl + Shift + G)をクリックします
46
phil mccullick

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

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

それは私のために働くようです。

19
Cez

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

  • ホーム画面から、データベースが配置されているデータベースサーバーインスタンスを右端のサーバー管理セクションから選択します。
  • 右側のメニューからData Exportを選択します。
  • エクスポートするデータベースを選択し、場所を選択します。
  • [エクスポートの開始]をクリックします。
5
aronkerr

create create table

4
user21884

同じ質問の答えを探してここに来ました。しかし、私は自分自身にはるかに良い答えを見つけました。

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

3
exception

私があなたの問題を完全に理解しているかどうかはわかりませんが、エクスポートスクリプトを作成するだけであれば、Ctrl + Shift + Gまたはファイル->エクスポート->最初のオプションをSQLスクリプトに転送する必要があります。

3
bbb

「モデルの概要」または「図」では、テーブルを右クリックするだけで、次のオプションがあります。「クリップボードに挿入をコピー」OR「クリップボードにSQLをコピー」

1
Urias BT

MySQL Workbench 6.3Eのソリューション

  • 中央のパネルで、DDLラベルをクリックします
1
Caat c

1コマンドを使用

show create table test.location

enter image description here

  1. 選択した行を右クリックし、Viewerで値を開くを選択します

  2. タブを選択Textenter image description here

1
MrBii

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

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

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

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

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

うまくいけば、これがそれを必要とする他の誰かを助ける。

1
madchedar0
  1. MySQL Workbench(6.3 CE)を開きます
  2. 「ナビゲータ」で「管理」を選択します
  3. 次に、「データのエクスポート」を選択します(作成スクリプトをエクスポートするテーブルを選択します)
  4. ドロップダウンで「構造とデータをダンプ」を選択します
  5. 「スキーマの作成を含む」チェックボックスを選択します
  6. [エクスポートの開始]ボタンをクリックします。エクスポートが完了すると、エクスポートされたファイルがシステムでダンプされる場所が表示されます。その場所に移動し、エクスポートされたファイルを開いて、テーブル作成スクリプトを見つけます。

またはチェック https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html

0
MERLIN THOMAS

Uは MySQL Proxy とその scripting system を使用して、ターミナルでSQLクエリをリアルタイムで表示できます。

0