Przejdź do narzędzia
ViewCSV
Plik nie jest nigdzie wysyłany

Konwertuj CSV do SQLite

orders.csv· DANE PRZYKŁADOWE15 wierszy · 8 kolumn
Typy wartości
Tekst zachowuje każdą wartość bez zmian. Rozpoznawanie typów używa INTEGER i REAL tam, gdzie pasują wszystkie wartości.
orders.csv
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041Nikodem KamińskiPoznańDesk lamp7195.662026-01-06paid
2001042Antoni SzymańskiWrocławChair, ergonomic5106.182026-02-07refunded
3001043Franciszek KamińskiGdańskUSB-C cable1142.782026-03-19pending
4001044Nikodem LewandowskiGdańskCoffee beans 1kg3155.572026-04-26shipped
5001045Aleksander NowakKrakówDesk lamp9·2026-05-25pending
6001046Antoni KowalskiSzczecinNotebook A56234.472026-06-16pending
7001047 Maja Kamiński WrocławCoffee beans 1kg6239.012026-07-02pending
8001048Julia WójcikGdańskUSB-C cable8212.472026-08-02paid
9001049Zofia WójcikSzczecinChair, ergonomic129.672026-09-08refunded
10001050Aleksander WójcikPoznańDesk lamp761.382026-01-17shipped
11001051Jakub NowakKrakówChair, ergonomic376.092026-02-20paid
12001052Jan WójcikPoznańMonitor 27"457.812026-03-01refunded
13001053Alicja DąbrowskiLublinDesk lamp9110.392026-04-07pending
14001054Hanna KowalskiWrocławNotebook A5536.162026-05-11paid
15001043Franciszek KamińskiGdańskUSB-C cable1142.782026-03-19pending

15 wierszy · 1 plik Korzysta z silnika SQLite (WebAssembly), pobieranego jednorazowo z assets.viewcsv.app. Twoje dane pozostają w tej karcie.

Otwórz lub wklej plik CSV, sprawdź Nazwa tabeli i kliknij Pobierz SQLite. Dostaniesz plik bazy danych .sqlite z jedną tabelą zawierającą wszystkie wiersze, gotowy do użycia w powłoce sqlite3, DB Browser for SQLite, Pythonie lub dowolnej bibliotece SQLite. Domyślnie każda kolumna ma typ TEXT, więc 000417 pozostaje 000417. Silnik SQLite działa w Twojej przeglądarce jako WebAssembly; plik CSV nigdy nie jest wysyłany na serwer.

Jak przekonwertować CSV do SQLite

  1. Otwórz plik .csv, .tsv lub .txt, upuść go na narzędzie albo wklej wiersze. Sprawdź tabelę na karcie Dane wejściowe; w razie potrzeby ustaw ogranicznik, wiersz nagłówka lub kodowanie w sekcji Ustawienia importu.
  2. Sprawdź Nazwa tabeli. Domyślnie to nazwa pliku, w której spacje i znaki interpunkcyjne zamieniono na podkreślenia, więc orders 2026.csv staje się orders_2026.
  3. Wybierz Typy wartości, opcjonalny Klucz główny i zdecyduj, czy włączyć Zapisuj puste komórki jako NULL.
  4. Kliknij Pobierz SQLite, a potem otwórz plik, np. poleceniem sqlite3 orders.sqlite i zapytaniem SELECT * FROM orders LIMIT 10;.

Przy pierwszej konwersji silnik SQLite (sql.js skompilowany do WebAssembly) jest jednorazowo pobierany z assets.viewcsv.app. Jeśli to pobieranie się nie powiedzie, narzędzie pokaże błąd i możesz spróbować ponownie; Twój plik pozostaje na tym urządzeniu.

Aby przekonwertować wiele plików z tymi samymi ustawieniami, wybierz Tryb wsadowy: konwertuj kilka plików. Każdy plik staje się osobną bazą danych z tabelą nazwaną od tego pliku, a wszystkie pobierasz razem jako jeden plik ZIP. W trybie wsadowym każdy plik może mieć najwyżej 25 MB.

Co zawiera baza danych

Jedną tabelę utworzoną instrukcją CREATE TABLE "name" (…), z jedną kolumną na każdą kolumnę CSV w oryginalnej kolejności i wszystkimi wierszami wstawionymi w jednej transakcji. Nie ma żadnych dodatkowych indeksów, widoków ani kolumn z identyfikatorami.

Nazwy tabeli i kolumnUżywane dokładnie w zapisanej postaci i ujęte w cudzysłów, więc spacje, znaki interpunkcyjne, słowa zastrzeżone i nazwy z polskimi znakami działają: odwołuj się do nich jako "order date". Pusty nagłówek staje się Column 3, a powtórzony – name (2).
Zachowaj wszystkie wartości jako tekstUstawienie domyślne. Każda kolumna ma zadeklarowany typ TEXT i przechowuje każdą wartość dokładnie tak, jak ją zapisano.
Rozpoznawaj liczby i true/falseKolumna, w której wszystkie niepuste wartości są liczbami całkowitymi bez zer wiodących, dostaje typ INTEGER; liczby dziesiętne z najwyżej 15 cyframi znaczącymi – REAL; kolumny true/false stają się INTEGER z wartościami 1 i 0, bo SQLite nie ma typu logicznego. Daty i wszystko inne pozostają TEXT.
Klucz głównyOpcjonalny. Wybrana kolumna jest deklarowana jako PRIMARY KEY. Jej wartości muszą być unikatowe i niepuste – w przeciwnym razie narzędzie zatrzyma się przed zapisaniem pliku. Rozpoznany klucz z liczbami całkowitymi staje się INTEGER PRIMARY KEY, czyli aliasem rowid w SQLite.
Zapisuj puste komórki jako NULLDomyślnie włączone. Wyłącz, aby przechowywać puste komórki jako pusty ciąg znaków ''.

Podziały wiersza, cudzysłowy i przecinki wewnątrz wartości CSV w cudzysłowie są przechowywane w wartości bez zmian.

Rozwiązywanie problemów

  • Konwersja zatrzymuje się na kluczu głównym. Wybrana kolumna zawiera pustą lub powtórzoną wartość. Znajdź duplikaty narzędziem Walidacja CSV lub w przeglądarce CSV, wybierz inną kolumnę albo ustaw Klucz główny na Brak.
  • Nie udało się pobrać silnika. Plik WebAssembly z silnikiem SQLite pochodzi z assets.viewcsv.app. Sprawdź połączenie, zaporę sieciową lub blokadę treści, a potem spróbuj ponownie.
  • `SUM()` traktuje kolumnę jako tekst. Kolumna ma typ TEXT. Przekonwertuj plik ponownie z opcją Rozpoznawaj liczby i true/false; jeśli kolumna nadal pozostaje tekstowa, któraś wartość nie jest zwykłą liczbą (1,234, 12 kg, 007). Możesz też rzutować ją w SQL: CAST(total AS REAL).
  • Plik jest za duży dla tego narzędzia. Konwersja do SQLite działa na plikach do 25 MB, 100 000 wierszy, 250 kolumn i 2 mln komórek. Dla większego pliku wygeneruj skrypt narzędziem CSV do SQL, które przetwarza duże pliki strumieniowo, i uruchom go w sqlite3.

Limity i prywatność

Plik CSV musi zmieścić się w przestrzeni roboczej przeglądarki: do 25 MB, 100 000 wierszy, 250 kolumn i 2 mln komórek. Baza danych jest budowana w pamięci i eksportowana jako jeden plik.

Silnik działa w tle w tej karcie, więc strona cały czas reaguje, a Anuluj przerywa pracę. Pobierany jest wyłącznie plik silnika; plik CSV i baza danych nigdy nie opuszczają Twojego urządzenia.

Przykład

Plik z zamówieniami z identyfikatorami z zerami wiodącymi, pustą datą i dwuwierszową notatką, przekonwertowany z opcją Rozpoznawaj liczby i true/false, nazwą tabeli orders i kolumną order_id jako Klucz główny, a następnie otwarty w powłoce sqlite3. total dostała typ REAL, a paid – INTEGER z wartościami 1/0, natomiast order_id i shipped_on pozostały TEXT. Przy domyślnej opcji Zachowaj wszystkie wartości jako tekst wszystkie sześć kolumn ma typ TEXT, a total zachowuje 129.50.

CSV
order_id,customer,total,paid,shipped_on,note
000417,"Okafor, Ada",129.50,true,2026-04-02,
000418,Mei Tan,15,false,,"Leave at door
side gate"
SQLite (powłoka sqlite3)
sqlite> .schema
CREATE TABLE "orders" ("order_id" TEXT PRIMARY KEY, "customer" TEXT, "total" REAL, "paid" INTEGER, "shipped_on" TEXT, "note" TEXT);

sqlite> SELECT order_id, total, typeof(total), paid, shipped_on, quote(note) FROM orders;
000417|129.5|real|1|2026-04-02|NULL
000418|15.0|real|0||'Leave at door
side gate'

Pytania i odpowiedzi

Czym to narzędzie różni się od CSV do SQL?

Ta strona daje gotowy plik bazy danych SQLite, który otworzysz bezpośrednio. Narzędzie CSV do SQL zapisuje tekstowy skrypt z instrukcjami CREATE TABLE i INSERT, który uruchamiasz sam – dla SQLite albo dla PostgreSQL, MySQL czy SQL Server – i potrafi strumieniowo przetwarzać pliki większe niż 25 MB.

Czy mogę dodać CSV do istniejącej bazy danych?

Nie bezpośrednio; każda konwersja tworzy nową bazę z jedną tabelą. Dołącz ją do istniejącej bazy poleceniem ATTACH 'orders.sqlite' AS src; i skopiuj wiersze instrukcją INSERT INTO … SELECT * FROM src.orders;.

Dlaczego true i false są zapisywane jako 1 i 0?

SQLite nie ma klasy przechowywania dla wartości logicznych; są one liczbami całkowitymi. Przy opcji Rozpoznawaj liczby i true/false true staje się 1, a false – 0. W trybie tekstowym pozostają ciągami znaków true i false.

Standardy i źródła