SQLite
 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 файла се чете като ред в таблицата. Така че, ако включите заглавния ред, той ще стане първият ред с данни във вашата таблица.

Сега ще създадем нова таблица, наречена Жанрове и го попълнете от 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се отвори база данни на SQLite от SQLIte Helper Oncreate, когато OnCreate се задейства при отваряне на база данни за първи път

  2. Актуализиране на данните за дейността от услугата, когато е на пауза

  3. Как работи SQLite Length().

  4. Android със стая - Как да зададете нула на външен ключ

  5. Android - опитайте се да отворите отново вече затворен обект:SQLiteQuery с помощта на loaderManager