MySQL Workbench でテーブル作成スクリプトを取得するにはどうすればよいですか?
-
19-09-2019 - |
質問
MySQL Workbench でテーブル作成スクリプトを取得するショートカットが見つからないため、MySQL GUI ツールの MySQL Query Browser にロールバックしています。
解決
私は、少なくともコミュニティ版で、どちらかのようなオプションを見つけることができません。
私は、これが対応すると仮定の リバースエンジニアリング<
:、残念ながら、の(引用)の商用版でのみ利用可能です/> の機能、データベースをリバースエンジニアリング 直接MySQLサーバからのが適用されます MySQL商用版へ ワークベンチのみの。
それでも、あなたは、テーブルを作成することができますcreate table
命令を取得するには、プレーンSQLを使用することができます。
たとえば、次のクエリます:
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はどこにでも、いくつかの引用符を追加します: - (
<時間> EDIT:MySQLの8.0を使用して、引用符なしで望ましい結果を得るために、結果の右click > copy field (unquoted)
のオプションがあります。
。
最終的には、の最も簡単なの解決策は、MySQLのクエリブラウザに滞在から除いて、最も可能性の高いコマンドラインクライアントを使用して、データベースに接続し、そこから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)
の取得 "の右側部分の" 出力のが、より簡単ではありません:削除する一切の引用
。
そして、ちょうどcompletnessのために、また、あなたのテーブルの構造を取得するためにmysqldump
を使用することができます:
mysqldump --no-data --user=USERNAME --password=PASSWORD --host=HOST DATABASE_NAME TABLE_NAME
いくつかのモード設定とのすべての真ん中に - --no-data
スイッチを使用して、あなただけの構造を取得します。
他のヒント
個々のテーブルの作成スクリプトを取得するには、テーブル名を右クリックし、[クリップボードにコピー] > [ステートメントの作成] をクリックします。
[ファイル] > [フォワード エンジニアリング SQL_CREATE スクリプト] を有効にするには。オプションを使用して、データベース全体の作成スクリプトを取得します。
- データベース > リバース エンジニアリング (Ctrl+R)
- EER 図を作成する手順を実行します。
- EER ダイアグラムを表示しているときに、[ファイル] > [フォワード エンジニアリング SQL_CREATE スクリプト...] をクリックします。(Ctrl+Shift+G)
関連するテーブルを右クリックし、次のいずれかを選択します。
- クリップボードにコピー > ステートメントの作成
- SQLエディターに送信 > ステートメントの作成
それは私にとってはうまくいくようです。
これは SQL 開発ではなくサーバー管理にあります。
- ホーム画面の右端のサーバー管理セクションから、データベースが配置されているデータベース サーバー インスタンスを選択します。
- 右側のメニューから選択します データのエクスポート.
- エクスポートするデータベースを選択し、場所を選択します。
- 「エクスポートの開始」をクリックします。
ショーは、テーブルを作成する
わからない>エクスポート - >最初のオプション
私は、同じ質問への答えを探してここに来ました。しかし、私はより良い自分自身を答えました。
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のワークベンチの私のバージョン:5.2.37
「モデルの概要」または「図」でちょうどテーブルの上で右クリックし、folowingのオプションがあります。「クリップボードにコピーSQL」「クリップボードにコピー挿入」ORを
これがまだ問題であるかどうかはわかりませんが、5.2.35CE では次の方法で作成スクリプトを取得できます。
データベース --> リバース エンジニアリング
保存された接続で、データベースを選択します
「次へ」を数回押し、リバース エンジニアリングするスキーマを選択し、ツールを動作させます。
すべての DB スキーマを含む「EER ダイアグラム」ビューが表示されます。気になるテーブルを右クリックして「SQLをクリップボードにコピー」を選択すれば、必要なものが手に入ると思います。
これがそれを必要としている他の人の助けになれば幸いです。
MySQL Workbench 6.3E のソリューション
- 左側のパネルでテーブルを右クリックし、「テーブルインスペクター」を選択します。
- 中央パネルで、DDL ラベルをクリックします。
Uは MySQLのプロキシとその<のhref = "httpsを使用することができます/github.com/patrickallaert/MySQL-Proxy-scripts-for-devs/blob/master/debug.lua」REL = "nofollowを">端末にリアルタイムでSQLクエリを表示するのスクリプトシステム。
- MySQL ワークベンチを開く (6.3 CE)
- 「ナビゲータ」で「管理」を選択します
- 次に、「データのエクスポート」を選択します(ここでは、エクスポートする作成スクリプトが含まれるテーブルを選択します)
- ドロップダウンで「構造とデータをダンプ」を選択します
- 「スキーマの作成を含める」チェックボックスを選択します
- エクスポートを開始]ボタンをクリックします。エクスポートが完了したら、エクスポートされたファイルがシステムにダンプされている場所が表示されます。その場所に移動し、エクスポートされたファイルを開いてテーブル作成スクリプトを見つけます。
またはチェックしてください https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html