MySQLテーブルからテキストファイルへ特定のフィールドだけをエクスポートする方法
MySQLのテーブルからファイルへデータをエクスポートする際、SELECT ... INTO OUTFILE ステートメントに必要なカラム名を指定するだけで、特定のフィールドのみをテキストファイルに出力できます。全カラムをエクスポートするのではなく、必要な列だけを絞り込むことで、ファイルサイズを抑え、後続の処理も効率化できます。
以下に具体的な手順を例とともに解説します。
例:Student_infoテーブルの一部カラムをエクスポートする
まず、次のようなデータを持つ 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 | +------+---------+------------+------------+ 6 rows in set (0.07 sec)
このテーブルから「id」と「Name」の2つのカラムだけをファイルに書き出したい場合は、SELECT句にそのカラム名だけを指定します。次のクエリを実行すると、Student_info テーブルの「id」と「Name」の値のみが student1.txt というファイルにエクスポートされます。
mysql> Select id, Name from Student_info INTO OUTFILE 'C:/mysql/bin/mysql-files/student1.txt'; Query OK, 6 rows affected (0.07 sec)
このクエリを実行すると、指定したパスに student1.txt ファイルが作成され、Student_info テーブルの「id」と「Name」カラムの値だけが出力されます。
補足ポイント
- 出力先の指定:
INTO OUTFILEの後には、MySQLサーバーが書き込み権限を持つパスを指定する必要があります。secure_file_priv の設定で許可されたディレクトリ(例:C:/mysql/bin/mysql-files/)を利用するのが一般的です。 - 既存ファイルの扱い: 同名のファイルがすでに存在する場合、エクスポートはエラーになります。事前にファイルを削除するか、別のファイル名を指定してください。
- WHERE句との併用: 必要に応じて WHERE 句を組み合わせれば、条件に一致する行だけを絞り込んでエクスポートすることも可能です。
このように、SELECT句でカラムを指定するだけで、必要なフィールドだけを簡単にテキストファイルへ出力できるため、データの一部を他のシステムやツールで利用したい場合に非常に便利です。
-
MySQLテーブルから既存のカラムを削除する方法を解説
MySQLでは、ALTER文とDROP句を組み合わせることで、テーブルから特定の既存カラム(列)を削除できます。この操作はデータベースのスキーマ変更において頻繁に使われる基本構文の一つです。基本構文ALTER TABLE テーブル名 DROP カラム名;各要素の意味は以下の通りです。テーブル名:削除対象のカラムが含まれるテーブルの名前を指定します。カラム名:テーブルから削除したいカラムの名前を指定します。実行例ここでは、テーブル「student_detail」から「address」というカラムを削除する例を見ていきましょう。まず、現在のテーブルの中身を確認します。mysql> selec
-
MySQLでブール型(BOOLEAN)フィールドを追加する方法を徹底解説
MySQLには厳密な意味での「ブール型」は存在せず、BOOLやBOOLEANとして定義した場合でも、内部的にはすべてTINYINT(1)として扱われます。つまり、tinyint(1)、bool、booleanの3つは完全なシノニム(同義語)です。MySQLにおける真偽値の扱いMySQLでは、0が偽(false)、0以外の数値が真(true)として解釈されます。PHPと同様に、0以外の任意の数値もtrueとして扱われる点に注意しましょう。実務上は、可読性を高めるためにtrue/falseリテラルを使うか、規約として0と1のみを使用するのが一般的です。BOOL型カラムを持つテーブルを作成するそれで