テーブルのデータをCSV形式でエクスポート/インポート
テーブルに格納されたデータをCSV形式でファイルに出力したり、逆にCSV形式で書かれたデータをテーブルに読み込む方法について解説します。
(2022 年 04 月 05 日公開 / 2022 年 04 月 05 日更新)
テーブルのデータをCSV形式でエクスポート
テーブルのデータをエクスポートする方法から確認します。データベースに接続後、「File」メニューの中の「Export」メニューの中にある「Table as CSV file...」メニューをクリックして下さい。
次のようなダイアログが表示されます。
「Table」では出力したいテーブルを選択して下さい。「Column names in first line」にチェックが入っていると、出力されるファイルの1行目にカラム名を出力します。
「Field separator」は同じ行の中のデータとデータを区切る文字を指定します。デフォルトは「,」ですが「;」「TAB」「|」「Other」から選択できます。(Otherを選択すると任意の文字を指定できます)。
「Quote character」はエスケープする文字を指定します。例えば「"」を選択した場合、文字列の「"apple"」は「""apple""」のようにエスケープして出力します。デフォルトは「"」ですが「'」「 」「Other」から選択できます。(Otherを選択すると任意の文字を指定できます)。
設定が終わりましたら「OK」ボタンをクリックして下さい。
ファイルダイアログが表示されますのでファイルの保存先のディレクトリとファイル名を指定して下さい。ファイルはCSV形式のテキストファイルで保存されます。拡張子は一般的には「.csv」または「.txt」をつかいます。今回は次のように指定しました。指定が終わりましたら「保存」ボタンをクリックして下さい。
正常に終了すれば次のようなダイアログが表示されます。
先ほどファイルの保存先として指定したディレクトリを見てみると、指定したファイル名でファイルが作成されていることが確認できます。
CSVファイルはテキストファイルですのでテキストエディタで開いて見ることができます。今回は次のようなファイルとなっていました。
id,name,old,address 1,山田太郎,19,東京都 2,加藤二郎,34,北海道 3,高橋花子,23,東京都 4,本田健一,27,愛知県 5,山崎博美,22,千葉県
テーブルに格納されていたデータがCSV形式で出力されていることが確認できます。
SQL文のデータをインポート
今度はCSV形式で用意したデータをテーブルにインポートしてみます。新しいテーブルが作成されます。今回次のような内容のファイルを作成しておきました。ファイル名は「foodshop.csv」です。
id,place,address 1,イタリア料理,千代田区 2,居酒屋,墨田区 3,無国籍料理,港区
CSV形式のデータをインポートするには「File」メニューの中の「Import」メニューの中にある「Table from CSV file...」メニューをクリックして下さい。
ファイルダイアログが表示されますので、インポートするファイルを指定して下さい。
次のようなダイアログが表示されます。
「Table name」には作成するテーブルの名前を指定します。「Column names in first line」にチェックが入っていると、読み込んだデータの1行目がカラム名となります。「Field separator」と「Quote character」についてはこのページの上に方にあるエクスポートのところの説明をご参照下さい。「Trim fields?」にチェックが入っていると末尾の無駄な空白を取り除きます。
「Encoding」では読み込むファイルの文字コードを指定して下さい。デフォルトは「UTF-8」ですが「UTF-16」「ISO-8859-1」「Other」から選択できます。(Otherを選択すると任意の文字コードを指定できます)。
設定が終わりましたら「OK」ボタンをクリックして下さい。
正常に終了すれば次のようなダイアログが表示されます。
データベースに新しいテーブルが作成され、データも格納されていることが確認できます。
なおCSV形式のファイルにはデータ型などの指定ができませんので作成されたテーブルの各カラムのデータ型は全て「TEXT」に設定されています。データ型の変更や制約の設定などを必要に応じて行って下さい。
このように別途作成したCSV形式のファイルを読み込んで新しいテーブルを作成しデータを格納することができます。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。