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

PostgreSQLでCSVファイルをインポートする方法

    多くの場合、クエリと分析のためにCSVファイルをPostgreSQLテーブルにインポートする必要があります。 PostgreSQLでCSVファイルをヘッダーとともにインポートする方法は次のとおりです。 コピーを使用します CSVをPostgreSQLにインポートするコマンド。

    PostgreSQLでCSVファイルをインポートする方法

    PostgreSQLでCSVファイルをインポートする手順は次のとおりです。ヘッダー付きのCSVファイルをPostgreSQLにインポートした後、postgresqlレポートツールを使用してPostgreSQLテーブルをクエリし、すべてが正常に機能していることを確認することをお勧めします。

    1。テーブルの作成

    まず、CSVをインポートするPostgreSQLテーブルを作成します。 order_date、sale

    の2つのフィールドを持つCSVファイルをインポートするとします。

    販売を作成します (order_date、sale) psqlを使用したテーブル。

    postgres=# create table sales(order_date date, sale int);
    

    ボーナスリード:PostgreSQLで月ごとの成長を計算する方法

    2。 PostgreSQLにCSVファイルをインポートする

    次に、 copyを使用してcsvファイルをPostgreSQLにインポートします コマンド。

    PostgreSQLでヘッダーなしのCSVファイルをインポートする

    次のsales.csvファイルがあります。 CSVファイルの日付値には一重引用符または二重引用符を使用してください。使用しないとエラーが発生します。

    '2020-01-01',15
    '2020-01-02',25
    '2020-01-03',34
    '2020-01-04',22
    '2020-01-05',30
    
    postgres=# COPY sales FROM 'c:/files/sales.csv' WITH (FORMAT csv);
    
    postgres=# select * from sales;
     order_date | sale
    ------------+------
     2020-01-01 |   15
     2020-01-02 |   25
     2020-01-03 |   34
     2020-01-04 |   22
     2020-01-05 |   30
    

    ボーナスリード:PostgreSQLでピボットテーブルを作成する方法

    PostgreSQLでヘッダー付きのCSVファイルをインポートする

    この場合、ヘッダーを含む次のsales.csvファイルがあります。 CSVファイルの日付値には一重引用符または二重引用符を使用してください。使用しないとエラーが発生します。

    order_date,sale
    '2020-01-01',15
    '2020-01-02',25
    '2020-01-03',34
    '2020-01-04',22
    '2020-01-05',30
    
    postgres=# \COPY sales FROM 'c:/files/sales.txt' DELIMITER ',' CSV HEADER;
    
    postgres=# select * from sales;
     order_date | sale
    ------------+------
     2020-01-01 |   15
     2020-01-02 |   25
     2020-01-03 |   34
     2020-01-04 |   22
     2020-01-05 |   30
    

    ボーナスリード:SQLで保持率を計算する方法

    CSVファイルまたはTXTファイルで同じクエリを使用できます。ヘッダー付きのCSVをインポートするには、スーパーユーザー権限が必要になる場合があることに注意してください。そのため、上記のCOPYだけでなく\COPYを使用します。 CSVファイルをインポートした後、Ubiqなどのpostgresqlレポートツールを使用して、以下に示すようにそれらを折れ線グラフにプロットできます。

    ちなみに、ビジネスやウェブサイトを監視するためのグラフやダッシュボードを作成したい場合は、Ubiqを試すことができます。 14日間の無料トライアルを提供しています。

    1. SQLite JSON_GROUP_ARRAY()

    2. Oracle After Delete Trigger ...テーブルの変更を回避する方法(ORA-04091)?

    3. MySQL/MariaDBテーブルを最適化する方法

    4. Oracleで現在の日付を取得する方法