既存のテーブルを使用してスキーマを作成する方法。100 個のテーブルがあり、このテーブルのスキーマを作成したいのですが、手順やツールを教えてください。
TOAD を試していますが、結果が HTML 形式で表示されます。結果を SQL で取得したい。
PHP を使用してスキーマを作成する方法。
show create table <tablename>
スキーマのみが必要で、データが必要ない場合は、mysql コマンド ライン ツールの 1 つのステートメントで十分です。結果は完全な create table ddl になります
http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html#option_mysqldump_no-data
あれは:
mysqldump --no-data -u <username> -p --database <dbname> <further options> > <dbname>.sql
サーバー上のコマンドラインから(おそらくssh経由で)。
すべてのテーブルのダンプを取得して、スキーマを取得します...このダンプを参照してください
mysqldump --user MYSQL_USER --password=MYSQL_PASSWORD --add-locks --flush-privileges \
--add-drop-table --complete-insert --extended-insert --single-transaction \
--database DB_TO_BACKUP > FILENAME_FOR_SQL_STATEMENTS
これにより、DB の再作成に使用できる SQL create および insert ステートメントでいっぱいのファイルが得られます。バックスラッシュ "\" は次の行に続きます...無視して、コマンド全体を 1 行に記述してもかまいません。
--no-data
さて、Db全体にデータを入れたいのか、それともテーブルだけにしたいのかわかりません... SQLステートメントの挿入を取り除き、ステートメントの作成と削除(およびロック)だけを行うために使用したい場合があります。
mysqldump --user MYSQL_USER --password=MYSQL_PASSWORD --add-locks --flush-privileges \
--add-drop-table --no-data --single-transaction \
--database DB_TO_BACKUP > FILENAME_FOR_SQL_STATEMENTS
mysql ワークベンチを使用して既存のデータベースに接続し、SQL 形式でスキーマをインポートおよびエクスポートできます。
...手順やツールを教えてください
dbForge Studio for MySQLの「Generate Schema Script」または「Backup」GUI ツールを使用できます。
制限付きバックアップは無料の Express バージョンで利用できます。バックアップ ファイルのサイズは 1MB に制限されており、100 個のテーブル スキーマに十分です。