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