未来エンジニア養成所Blog

月単価180万以上のプログラミング講師がプログラミングを皆に楽しんでもらうための情報をお届けします。

【DB入門】ファイルの読み書き

title


データベースのテーブルに登録されているデータは、列ごとに区切られた単なる値の羅列です。

これらのデータは、テキストファイルとして出力をし、外部のデータベースシステムに提供することができます。

また、テキストファイルとして提供されたデータを読み込んでテーブルを作成することもできます。

ここでは、テキストファイルからのデータの読み書きについて見ていきます。

テキストファイルは、データとデータをカンマやタブ、スペースなどの区切り文字で区切って登録したものです。

単なる文字の羅列なので異なるデータベース間でも読み書きが可能です。



データのテキストファイルへの書き込み(エクスポート)

テーブルに登録されたデータを、CSV(カンマ区切りテキストファイル)などのテキストファイルに書き出すことができます。

これを、エクスポートといいます。

エクスポートしたファイルは、別のデータベースやシステムで利用することができます。

また、データベースが壊れた際のバックアップとしても利用できます。



【書式】テキストファイルにデータを書き出す

SELECT * INTO OUTFILE "ファイル名" オプションの記述 FROM テーブル名;


テキストファイルでデータを読み書きする場合、使用しているPCのOSがWindowsであってもUNIX系であっても「C:/db_primary/hanbailist.csv」のように、ディレクトリ(フォルダ)の区切り文字は「¥」でなく「/」を使用します。

「値と値の区切り文字」(CSVファイルであればカンマが区切り文字)や「改行文字」「何行目から読み込むか」などを、オプションとして指定します。



【書式】LOAD DATA INFILEのオプションの記述

FIELDS TERMINATED BY 区切り文字(デフォルトは"¥t"タブ)
LINES TERMINATED BY 改行文字(デフォルトは"¥n"改行)
IGNORE 最初に読み飛ばす行 LINES(デフォルトは0)



データのテキストファイルからの読み込み(インポート)

テキストファイルとして登録されたファイルからデータを読み込む事を、インポートと言います。


【書式】ファイルからデータを取り込む

LOAD DATA INFILE "ファイル名" INTO TABLE テーブル名 オプション;


ファイルからデータをテーブルに取り込むには、LOAD DATA INFILE文を使います。

CSV形式以外のタブ区切りファイルなどでも読み込むことができます。

「値と値の区切り文字」(CSVファイルであればカンマが区切り文字)や「改行文字」「何行目から読み込むか」などを、オプションとして指定します。



【書式】LOAD DATA INFILEのオプションの記述

FIELDS TERMINATED BY 区切り文字(デフォルトは"¥t"タブ)
LINES TERMINATED BY 改行文字(デフォルトは"¥n"改行)
IGNORE 最初に読み飛ばす行 LINES(デフォルトは0)



SQL文のファイルからの読み込み

テーブルにデータを登録(INSERT)するときなど、SQL文が長いとSQLモニタから実行するのは非効率的です。

SQL文をファイルに保存し、読み込むことができます。

一度ファイルにSQL文を登録しておけば、毎回毎回、SQLモニタからSQLコマンドを打ち込む必要がないので、効率的に作業ができます。

これには、SOURCEコマンドを使います。


SOURCEコマンドは、SQLコマンドではないので最後のセミコロンは必要ありません。

何回も作ることになるテーブルや複雑なSQL文は、テキストファイルとして保存しておき、SOURCEコマンドで実行すると良いでしょう。


参考図書



LINE公式アカウント

仕事が辛くてたまらない人生が、仕事が楽しくてたまらない人生に変わります。
【登録いただいた人全員に、無料キャリア相談プレゼント中!】


LineOfficial

友だち追加



【まついのLINE公式アカウントはこちらから!】
Line公式アカウント