sql >> データベース >  >> RDS >> Mysql

MySQLクエリ結果を.CSVファイルに保存する方法

    SELECT ... INTO OUTFILEを使用して、クエリ結果を.CSVファイルに保存できます。 ステートメント。

    ファイルの名前/場所、およびフィールドターミネータ、ラインターミネータなどの他のオプションを指定します。

    これが基本的な例です。

    SELECT * FROM Customers
    INTO OUTFILE '/tmp/customers.csv';

    これにより、 Customers からすべての列が選択されます テーブルを作成し、それらを customers.csv という.CSVファイルに配置します / tmp 内 ディレクトリ。

    オプションの追加機能

    FIELDS TERMINATEDを使用して、フィールドと行の終了方法を指定できます およびLINES TERMINATED 条項。

    ENCLOSED BYを使用して、各値を囲む文字を指定することもできます。 条項。

    また、FIELDS ESCAPED BYを使用できます 特殊文字の書き方を制御する句。

    もう一度クエリを実行します。今回は、これらの追加の句のいくつかを使用します。

    SELECT * FROM Customers
    INTO OUTFILE '/tmp/customers.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n';

    ヘッダーの追加

    前の例では、クエリの結果を含む.CSVファイルが生成されますが、列名は生成されません。これは、.CSVファイルの最初の行にヘッダーがないことを意味します。

    列名を含めるには(.CSVファイルの最初の行にヘッダーが含まれるようにするため)、別のSELECTに列名をハードコーディングできます。 ステートメント。UNION ALLによってクエリの残りの部分の前に追加されます オペレーター。

    別の(少し複雑な)クエリの例を次に示します。この例では、列ヘッダーを.CSVファイルに追加します。

    /* Add column headers */
    SELECT 'OrderId','CustomerID','EmployeeID','OrderDate','RequiredDate','ShippedDate','ShipVia','Freight','ShipName','ShipAddress','ShipCity','ShipRegion','ShipPostalCode','ShipCountry','OrderID','ProductId','UnitPrice','Quantity','Discount'
    
    UNION ALL
    
    /* Now the actual query */
    SELECT o.OrderId, o.CustomerID, o.EmployeeID, o.OrderDate, o.RequiredDate, o.ShippedDate, o.ShipVia, o.Freight, o.ShipName, o.ShipAddress, o.ShipCity, o.ShipRegion, o.ShipPostalCode, o.ShipCountry, od.OrderID, od.ProductId, od.UnitPrice, od.Quantity, od.Discount 
    
    FROM `Orders` o  LEFT JOIN `Order Details` od ON od.OrderID = o.OrderID 
    
    /* Save the query results to a file */
    INTO OUTFILE '/tmp/orders.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n';

    MySQLWorkbenchGUIの使用

    MySQL Workbench GUIを使用して、クエリの結果をエクスポートすることもできます。


    1. MicrosoftAccessのデザインビューでテーブルを開く方法

    2. SSMSのショートカットを作成し、デフォルトのSQL Serverに自動的に接続する方法-SQ:サーバー/TSQLチュートリアルパート4

    3. M-M関係を強制するためのトリガー

    4. MariaDB CURRENT_DATE()の説明