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

SQLite-CSVファイルからデータをインポートする

    CSVファイルからSQLiteデータベースにデータをインポートできます。

    データをSQLiteにインポートするには、.importを使用します 指図。このコマンドは、ファイル名とテーブル名を受け入れます。

    ファイル名はデータが読み取られるファイルであり、テーブル名はデータがインポートされるテーブルです。テーブルが存在しない場合は、CSVファイルのデータに基づいて自動的に作成されます。

    CSVから新しいテーブルへ

    この例では、CSVファイルの内容を現在存在しないテーブルにインポートします。そのため、CSVファイルのデータに基づいて新しいテーブルが作成されます。

    以前にエクスポートしたものと同じCSVファイルを使用します。

    .mode csv
    .import /Users/quackit/sqlite/dumps/catalog.csv Catalog

    必ず.mode csvを使用してください .importの前 これにより、コマンドラインユーティリティが入力ファイルのテキストを他の形式として解釈しようとするのを防ぐことができます。

    それを実行した後、.tablesを実行できます テーブルを確認するコマンド:

    sqlite> .tables
    Albums   Albums2  Artists  Catalog
    

    新しいテーブル( カタログ )が作成されました。 SELECTを実行してみましょう 内容を確認するために:

    sqlite> .mode column
    sqlite> SELECT * FROM Catalog;
    AlbumId   AlbumName             ArtistName  
    --------  --------------------  ------------
    1         Killers               Iron Maiden 
    2         Powerslave            Iron Maiden 
    12        Somewhere in Time     Iron Maiden 
    3         Surfing with the Ali  Joe Satriani
    10        Flying in a Blue Dre  Joe Satriani
    11        Black Swans and Worm  Joe Satriani
    6         Out of the Loop       Mr Percival 
    7         Suck on This          Primus      
    8         Pork Soda             Primus      
    9         Sailing the Seas of   Primus

    モードをcolumnに戻すこともできます。 (または使用していた他のモード)ここで行ったように。

    また、スキーマも確認しましょう:

    sqlite> .schema Catalog
    CREATE TABLE Catalog(
      "AlbumId" TEXT,
      "AlbumName" TEXT,
      "ArtistName" TEXT
    );
    

    既存のテーブル

    CSVファイルを既存のテーブルにインポートすることもできます。適切な定義を使用してテーブルを作成し、インポートを実行するだけです。

    ただし、必ず最初にCSVファイルからヘッダーを削除してください。既存のテーブルにインポートする場合、すべて CSVファイルの行は、テーブルの行として読み込まれます。したがって、ヘッダー行を含めると、それがテーブルのデータの最初の行になります。

    ここで、 Genres という新しいテーブルを作成します。 CSVファイルから入力します。

    CSVファイルの内容は次のとおりです。

    1,Rock
    2,Country
    3,Pop
    4,Comedy
    5,Jazz
    6,Blues
    7,Techno
    

    新しいテーブルを作成します:

    CREATE TABLE Genres(
      GenreId    INTEGER PRIMARY KEY, 
      Genre      TEXT NOT NULL
    );

    そこにあることを確認してください:

    sqlite> .tables
    Albums   Albums2  Artists  Catalog  Genres 
    

    次に、CSVファイルをインポートします:

    .mode csv
    .import /Users/quackit/sqlite/dumps/genres.csv Genres

    次に、データが入力されたことを確認します(そしてcolumnに戻ります) モード):

    sqlite> .mode column
    sqlite> SELECT * FROM Genres;
    GenreId   Genre               
    --------  --------------------
    1         Rock                
    2         Country             
    3         Pop                 
    4         Comedy              
    5         Jazz                
    6         Blues               
    7         Techno             
    

    1. SQL ServerでJOINを使用してテーブルを更新しますか?

    2. MySQL LEAST()関数–引数のリストから最小の引数を検索します

    3. 初心者のためのSQLUPDATE

    4. PostgreSQL高可用性インストールPatroni