WHERE句で条件を指定してMySQLテーブルのデータをファイルにエクスポートする方法
MySQLテーブルからファイルへデータをエクスポートする際には、WHERE句を使って条件を指定することができます。これにより、必要なレコードだけを抽出してファイルに出力できます。具体的な例を見ながら確認していきましょう。
前提となるデータ
まず、「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が120より大きいレコードだけをエクスポートしたい場合を考えてみます。次のようにINTO OUTFILE構文とWHERE句を組み合わせたクエリを実行すると、該当するレコードが「student4.csv」ファイルに出力されます。
mysql> Select * from student_info WHERE id > 120 into outfile 'C:/mysql/bin/mysql-files/student4.csv' Fields terminated by ','; Query OK, 4 rows affected (0.16 sec)
エクスポート結果
このクエリを実行すると、条件に一致した以下の4件のレコードがCSV形式(各フィールドをカンマ区切り)でファイルに書き出されます。
125 Raman Shimla Computers 130 Ram Jhansi Computers 132 Shyam Chandigarh Economics 133 Mohan Delhi Computers
注意点
INTO OUTFILEを使用する際は、以下の点に留意してください。
- FILE権限が必要: ファイルへの書き出しを行うMySQLユーザーにはFILE権限が付与されている必要があります。
- secure_file_priv設定: システム変数
secure_file_privで指定されたディレクトリ以外への出力は許可されません。出力先パスはこの設定に合わせて指定しましょう。 - 既存ファイルの上書き不可: 同名のファイルがすでに存在する場合はエラーになるため、事前に削除しておくか別のファイル名を指定してください。
-
MySQLビューでBETWEEN演算子を使ってベーステーブルから値の範囲を選択する方法
MySQLのBETWEEN演算子は、指定した範囲内の値を選択するために使用される演算子です。このBETWEEN演算子はビュー(VIEW)と組み合わせることもでき、ベーステーブルから特定の範囲に該当するデータだけを抽出したビューを作成することが可能です。ここでは、次のようなデータを持つベーステーブル「student_info」を例に、具体的な使い方を解説します。mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subj
-
MySQLでテーブルからランダムな値を3件表示する方法
MySQLのテーブルからランダムな値を取得したい場合は、RAND()関数を使用します。取得する件数はLIMIT句で指定します。今回は3件を取得する例を見ていきましょう。select yourColumnName from yourTableName order by rand() limit 3;それでは、実際にサンプルテーブルを作成しながら手順を確認していきます。1. サンプルテーブルの作成まず、create table文でテーブルを作成します。mysql> create table DemoTable646 ( Id int NOT N