[解決済み] MySQL Workbench でテーブル作成スクリプトを取得する方法
質問
MySQL Workbench でテーブル作成スクリプトを取得するためのショートカットが見つからないため、MySQL GUI Tools の MySQL Query Browser にロールバックしています。
どのように解決するのですか?
少なくとも Community エディションでは、そのようなオプションは見当たりません。
に相当するのでしょうね。 リバースエンジニアリング の機能は、残念ながら商用版でのみ利用可能です。 (引用) :
データベースのリバースエンジニアリング MySQL サーバから直接 が適用されます。 商用バージョンのMySQL ワークベンチのみ .
それでも、プレーン 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 はあらゆるところに引用符を追加します :-(
EDIT: 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
スイッチを使うと、構造体
-- いくつかのモード設定やその他もろもろの途中で
.
関連
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] MySQLでibdata1ファイルを縮小/パージする方法
-
[解決済み】max_allowed_packetのサイズを変更する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQL Innodb インデックスメカニズム詳細解説
-
mysqlにおけるvarcharの日付比較とソートの実装
-
SpringBootのMySQLへの接続は、バックエンドのインターフェイスの操作方法を書き込むためのデータを取得するために
-
MySQLの悲観的ロックと楽観的ロックの実装スキーム
-
MySQLにおけるvarchar型とchar型の違い
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
Djangoマイグレーションエラー 外部キー制約を追加できない
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] utf8_general_ciとutf8_unicode_ciの違いは何ですか?
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?