2011-06-20 12 views
1

私はMySQLデータベースにインポートしたいたくさんのカラムを持つデータセットを持っています。そのため、カラムヘッダを手作業で指定せずにテーブルを作成できるようにしたいのです。むしろ、MySQLのCREATE TABLEコマンド(おそらく)に、ファイル名にカラムラベルを付けたいと思っています。私はUbuntuで標準的なMySQL Query Browserツールを使用していますが、このためのオプションはテーブル作成ダイアログで表示されませんでしたし、CREATE TABLEのドキュメントページからクエリを作成する方法もわかりませんでした。しかしカラム名、データをテキストファイルからMySQLテーブルにロードするには?

答えて

1

AはTABLE文は

  • 表名*単なる列名以上含まCREATE ...方法がなければならない
  • 列名*
  • 列のデータ型*
  • 列制約、NOT NULLのように
  • DEFAULTのような列オプション、文字セット
  • PRIMARY KEY *とFOREIGN KEYのようなテーブル制約
  • インデックス
  • 表のオプションは、ストレージエンジンのように、デフォルトの文字セット

*必須

あなただけの列名のリストから、このすべてを取得することはできません。 CREATE TABLEステートメントを自分で記述する必要があります。


コメント:多くのソフトウェア開発フレームワークでは、SQL DDLを使用せずにテーブルを宣言する方法がサポートされています。例えば。 HibernateはXMLファイルを使用します。 YAMLはRails ActiveRecord、PHP Doctrine、PerlのSQLFairyでサポートされています。 JSONのような他のフォーマットを使用するツールはおそらくありますが、私はそれをわかりません。

最終的に、これらの「単純化された」インターフェースはすべて、SQLと同じように覚えているだけでなく、SQLの機能を正確に表現することもできません。 The Law of Leaky Abstractionsも参照してください。


そのツールがすでにあなたを助けることができる方法でファイルからSQLに変換する可能性があるため、SQLFairyをチェックしてください。 FWIW MySQL Query Browser(または現在の名前であるMySQL Workbench)はSQLファイルを読み取ることができます。したがって、おそらく手動で&のペーストをコピーする必要はありません。

+0

列名と列データ型を含むファイルはどうですか?すべての単一の列名を難なくCREATE TABLEステートメントに入力するよりも、作成するほうがはるかに簡単です。 –

+0

解決策は、テキストファイルに列のスペックを作成し、これをコピーしてクエリブラウザに貼り付けることです。これは、再タイピングを避けるように見えます。ありがとう、あなたのコメントは、私を '解決策'に導いた。 –

関連する問題