MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

NULL値を含むテーブルからCSVファイルへデータをエクスポートする場合、MySQLはどのように処理するのか

NULL値を含むテーブルからデータをCSVファイルへエクスポートすると、MySQLはNULL値が存在するレコードの箇所に「\N」を書き込みます。この動作は、以下の例で確認できます。

例:NULL値を含むテーブルのエクスポート

次のようなデータを持つテーブル「student_info」の値をエクスポートしたいと仮定します。

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
| 150  | Saurabh | NULL       | Literature |
+------+---------+------------+------------+
7 rows in set (0.00 sec)

この結果を見ると、idが150のレコードのAddressフィールドだけがNULLになっていることがわかります。次のクエリを実行すると、このテーブルのデータが「Student_27.csv」へエクスポートされます。

mysql> Select * from Student_info INTO OUTFILE 'C:/mysql/bin/mysql-files/student_27.csv' FIELDS TERMINATED BY ',';
Query OK, 7 rows affected (0.02 sec)

上記のクエリを実行すると、「Student_27.csv」には以下の値が保存されます。

101   YashPal   Amritsar     History
105   Gaurav    Chandigarh   Literature
125   Raman     Shimla       Computers
130   Ram       Jhansi       Computers
132   Shyam     Chandigarh   Economics
133   Mohan     Delhi        Computers
150   Saurabh   \N           Literature

このように、テーブル内にNULL値が存在する場合、MySQLはその箇所に自動的に「\N」を出力することが確認できます。

補足:「\N」の扱いに関する注意点

「\N」はMySQL特有のNULL値を表す表記です。エクスポートしたCSVファイルをLOAD DATA INFILE文などで再び読み込む際にも、「\N」はNULL値として正しく認識されるため、元のデータを忠実に復元できます。

なお、空文字列('')とNULLは別の概念である点に注意してください。空文字列は「値として空の文字列が入っている」状態ですが、NULLは「値がそもそも存在しない」ことを意味します。CSVファイル上ではそれぞれ異なる形で出力されるため、データの受け渡しを行う際はこの違いを意識しておくとよいでしょう。

  1. MySQLでStudentScoreテーブルから2番目に高い値を取得する方法

    MySQLでテーブルから2番目に高い値を取得したい場合、ORDER BY DESCとLIMIT 1,1を組み合わせるのが最もシンプルな方法です。この記事では、実際にサンプルテーブルを作成しながら、具体的な手順をわかりやすく解説します。 サンプルテーブルを作成する まず、学生のスコアを格納するためのテーブル「DemoTable」を作成します。 mysql> create table DemoTable ( StudentScore int ); Query OK, 0 rows affected (0.56 sec) テストデータの挿入 INSERTコマンドを使って、テーブルにいく

  2. JavaでCSVファイルを読み込む方法|BufferedReaderによる基本的なデータ読み取り手順

    CSVとは「Comma Separated Values(カンマ区切り値)」の略で、テキスト形式のデータファイルの一種です。CSVファイルでは、1行ごとに複数の項目がカンマ(,)で区切られて記録されており、拡張子は「.csv」として保存されます。表形式のデータを扱う際に広く利用されている、シンプルで汎用性の高いフォーマットです。 JavaでCSVファイルを読み込む仕組み JavaでCSVファイルを読み込むには、BufferedReaderクラスのreadLine()メソッドを使用するのが基本的な方法です。このメソッドを使うと、ファイルの内容を1行ずつ順番に読み取ることができます。 読み取った各