MySQL データベースにインポートしたい多数の列を含むデータセットがあるので、手動で列ヘッダーを指定せずにテーブルを作成できるようにしたいと考えています。むしろ、列ラベルを含むファイル名を (おそらく) MySQL CREATE TABLE コマンドに提供したいと考えています。Ubuntu で標準の MySQL Query Browser ツールを使用していますが、テーブルの作成ダイアログにこのオプションが表示されませんでした。また、CREATE TABLE のドキュメント ページからこれを行うためのクエリを作成する方法もわかりませんでした。しかし、方法があるはずです...
1 に答える
CREATE TABLE ステートメントには、列名だけではありません
- テーブル名*
- 列名*
- 列のデータ型*
- NOT NULL などの列の制約
- DEFAULT、文字セットなどの列オプション
- PRIMARY KEY* や FOREIGN KEY などのテーブル制約
- インデックス
- ストレージ エンジン、デフォルトの文字セットなどのテーブル オプション
* 必須
列名のリストだけからこれらすべてを取得することはできません。CREATE TABLE ステートメントは自分で作成する必要があります。
あなたのコメントについて: 多くのソフトウェア開発フレームワークは、SQL DDL を使用せずにテーブルを宣言する方法をサポートしています。たとえば、Hibernate は XML ファイルを使用します。YAML は、Rails ActiveRecord、PHP Doctrine、および Perl の SQLFairy でサポートされています。おそらく、JSON などの他の形式を使用するツールは他にもあるでしょうが、私は 1 つだけ知りません。
しかし最終的には、これらすべての「単純化された」インターフェースは、SQL の機能を正確に表すことができずに、SQL として学習するのがそれほど複雑ではありません。The Law of Leaky Abstractionsも参照してください。
SQLFairyを確認してください。そのツールは、ファイルから SQL に変換するのに役立つ可能性があるためです。また、FWIW MySQL Query Browser (または現在の名前である MySQL Workbench) は、SQL ファイルを読み取ることができます。したがって、おそらく手動でコピーして貼り付ける必要はありません。