sql >> Databáze >  >> RDS >> SQLite

SQLite – import dat ze souboru CSV

Data můžete importovat ze souboru CSV do databáze SQLite.

Pro import dat do SQLite použijte .import příkaz. Tento příkaz přijímá název souboru a název tabulky.

Název souboru je soubor, ze kterého se načtou data, název tabulky je tabulka, do které budou data importována. Pokud tabulka neexistuje, bude vytvořena automaticky na základě dat v souboru CSV.

CSV do nové tabulky

Tento příklad importuje obsah souboru CSV do tabulky, která aktuálně neexistuje. Proto bude vytvořena nová tabulka na základě dat v souboru CSV.

Použijeme stejný soubor CSV, který jsme exportovali dříve.

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

Ujistěte se, že používáte .mode csv před .import protože to zabrání nástroji příkazového řádku ve snaze interpretovat text vstupního souboru jako nějaký jiný formát.

Poté, co to spustíme, můžeme spustit .tables příkaz k prohlížení našich tabulek:

sqlite> .tables
Albums   Albums2  Artists  Catalog

Nová tabulka ( Katalog ) byl vytvořen. Udělejme SELECT na něm, abyste zkontrolovali obsah:

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

Můžete také chtít změnit režim zpět na column (nebo jakýkoli jiný režim, který jste používali), jako jsem to udělal zde.

A podívejme se také na schéma:

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

Stávající tabulka

Soubor CSV můžete také importovat do existující tabulky. Stačí vytvořit tabulku s příslušnými definicemi a poté spustit import.

Nejprve však ze souboru CSV odstraňte všechna záhlaví. Když importujete do existující tabulky, každý řádek v souboru CSV se načte jako řádek v tabulce. Pokud tedy zahrnete řádek záhlaví, stane se prvním řádkem dat ve vaší tabulce.

Nyní vytvoříme novou tabulku s názvem Žánry a naplňte jej ze souboru CSV.

Zde je obsah souboru CSV:

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

Vytvořte novou tabulku:

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

Zkontrolujte, zda tam je:

sqlite> .tables
Albums   Albums2  Artists  Catalog  Genres 

Nyní importujte soubor CSV:

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

Nyní ověřte, že data byla vložena (a změňte se zpět na column režim):

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

  1. Vyberte velikost databáze SQL Server

  2. 4 Funkce pro formátování čísla na 2 desetinná místa v SQL Server

  3. Jak se připojit k první řadě

  4. Jak zapisovat pomocí BCP na vzdálený SQL Server?