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

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で指定されたディレクトリ以外への出力は許可されません。出力先パスはこの設定に合わせて指定しましょう。
  • 既存ファイルの上書き不可: 同名のファイルがすでに存在する場合はエラーになるため、事前に削除しておくか別のファイル名を指定してください。
  1. MySQLビューでBETWEEN演算子を使ってベーステーブルから値の範囲を選択する方法

    MySQLのBETWEEN演算子は、指定した範囲内の値を選択するために使用される演算子です。このBETWEEN演算子はビュー(VIEW)と組み合わせることもでき、ベーステーブルから特定の範囲に該当するデータだけを抽出したビューを作成することが可能です。ここでは、次のようなデータを持つベーステーブル「student_info」を例に、具体的な使い方を解説します。mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subj

  2. 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