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
- Otwórz plik
.csv,.tsvlub.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. - Sprawdź Nazwa tabeli. Domyślnie to nazwa pliku, w której spacje i znaki interpunkcyjne zamieniono na podkreślenia, więc
orders 2026.csvstaje sięorders_2026. - Wybierz Typy wartości, opcjonalny Klucz główny i zdecyduj, czy włączyć Zapisuj puste komórki jako NULL.
- Kliknij Pobierz SQLite, a potem otwórz plik, np. poleceniem
sqlite3 orders.sqlitei zapytaniemSELECT * 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 kolumn | Uż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 tekst | Ustawienie domyślne. Każda kolumna ma zadeklarowany typ TEXT i przechowuje każdą wartość dokładnie tak, jak ją zapisano. |
| Rozpoznawaj liczby i true/false | Kolumna, 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łówny | Opcjonalny. 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 NULL | Domyś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.
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> .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.