SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLite - Importuj dane z pliku CSV

Możesz importować dane z pliku CSV do bazy danych SQLite.

Aby zaimportować dane do SQLite, użyj .import Komenda. To polecenie akceptuje nazwę pliku i nazwę tabeli.

Nazwa pliku to plik, z którego odczytywane są dane, nazwa tabeli to tabela, do której dane będą importowane. Jeśli tabela nie istnieje, zostanie utworzona automatycznie na podstawie danych w pliku CSV.

CSV do nowej tabeli

Ten przykład importuje zawartość pliku CSV do tabeli, która obecnie nie istnieje. Dlatego nowa tabela zostanie utworzona na podstawie danych w pliku CSV.

Użyjemy tego samego pliku CSV, który wyeksportowaliśmy wcześniej.

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

Pamiętaj, aby użyć .mode csv przed .import ponieważ zapobiega to próbie zinterpretowania tekstu pliku wejściowego przez narzędzie wiersza poleceń jako innego formatu.

Po uruchomieniu możemy uruchomić .tables polecenie do przeglądania naszych tabel:

sqlite> .tables
Albums   Albums2  Artists  Catalog

Nowa tabela ( Katalog ) został stworzony. Zróbmy SELECT na nim, aby sprawdzić zawartość:

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

Możesz także zmienić tryb z powrotem na column (lub w jakimkolwiek innym trybie, którego używałeś), tak jak ja tutaj.

Sprawdźmy też schemat:

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

Istniejąca tabela

Możesz także zaimportować plik CSV do istniejącej tabeli. Po prostu utwórz tabelę z odpowiednimi definicjami, a następnie uruchom import.

Pamiętaj jednak, aby najpierw usunąć wszystkie nagłówki z pliku CSV. Podczas importowania do istniejącej tabeli co wiersz w pliku CSV jest odczytywany jako wiersz w tabeli. Więc jeśli uwzględnisz wiersz nagłówka, stanie się on pierwszym wierszem danych w Twojej tabeli.

Utworzymy teraz nową tabelę o nazwie Genres i wypełnij go z pliku CSV.

Oto zawartość pliku CSV:

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

Utwórz nową tabelę:

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

Sprawdź, czy tam jest:

sqlite> .tables
Albums   Albums2  Artists  Catalog  Genres 

Teraz zaimportuj plik CSV:

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

Teraz sprawdź, czy dane weszły (i zmień z powrotem na column tryb):

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite GLOB

  2. Jak zaktualizować/usunąć elementy z dwóch różnych tabel SQLite

  3. Odczytywanie bazy danych z folderu zasobów

  4. Główny klucz obsługi domeny Androida w obiekcie relacyjnym

  5. ODKURZACZ SQLite