MySQLのデータベース内のすべてのテーブルのDDLを一度に生成する方法。次のクエリがテーブルのDDLを出力することを知っています。しかし、データベースに何百ものテーブルがあるので、すべてのテーブルのDDLを一度に欲しいです。
show create table <database name>.<table name>;
例えば:
show create table projectdb.customer_details;
上記のクエリでは、customer_details
テーブル。
Windows OS上でMySQLワークベンチでMySQLを使用しています。
Mysqldumpコマンドラインユーティリティを使用して実行できます。
mysqldump -d -u <username> -p<password> -h <hostname> <dbname>
-d
オプションは「データなし」を意味します。
上記の@tftdiasは、部分的に正しいコメントを作成しました。
問題は、パスワードとして-pと「pps」の間のスペースでした。コマンドラインでパスワードを完全にフリーテキスト化できます。一般的なセキュリティルールとして、すべきではありません。 Linuxでは、適切な構成を使用して、コマンドラインの最初の文字の前にスペース( "")を追加できます。その行は「履歴」に入りません。パスワードをクリアテキストで入力する(しないでください!)ときは、パスワードが表示される履歴に含まれないように、少なくとも最初にスペースを入れることをお勧めします。