SQLite online — uruchamiaj zapytania SQL w przeglądarce
Pisz zapytania SQL, analizuj CSV i podglądaj pliki .sqlite — wszystko w przeglądarce.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Baza działa w pamięci Twojej przeglądarki (SQLite skompilowany do WebAssembly). Po zamknięciu karty znika — pobierz ją, jeśli chcesz zachować zmiany. Otwierane pliki nie są nigdzie wysyłane.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćDo czego przyda się SQLite w przeglądarce
SQLite online to edytor SQL, który uruchamia prawdziwą bazę SQLite w Twojej przeglądarce. Pod spodem pracuje sql.js 1.14, czyli SQLite skompilowany do WebAssembly (licencja MIT). Wszystko dzieje się na Twoim komputerze: pliki i dane nie są wysyłane na serwer webp.pl.
Takie połączenie, prawdziwy silnik i zero konfiguracji, sprawdza się w trzech sytuacjach:
- Nauka SQL. Piszesz zapytanie i od razu widzisz wynik albo czytelny komunikat błędu. Wystarczy karta przeglądarki, bez przygotowywania środowiska.
- Szybka analiza CSV. Importujesz plik CSV jako tabelę, a potem pytasz o dane po SQL-owemu: grupujesz, sortujesz, sumujesz, filtrujesz. Narzędzie samo wykrywa separator (przecinek lub średnik), cudzysłowy i liczby.
- Podgląd pliku bazy aplikacji. Otwierasz własny plik .sqlite lub .db i widzisz jego tabele w panelu z kolumnami oraz liczbą wierszy. To najszybszy sposób, żeby zajrzeć do środka bazy wygenerowanej przez inną aplikację.
Jak zacząć: przykładowa baza i gotowe zapytania
Po otwarciu edytora masz od razu przykładową bazę. Są w niej dwie tabele: klienci (12 osób wraz z miastami) oraz zamowienia (60 zamówień z produktami, kwotami, datami i statusem). Na takich danych wygodnie testuje się zapytania, bo od razu widzisz, czy wynik ma sens.
Nie musisz pisać pierwszego zapytania od zera. W edytorze czekają gotowe przykłady:
| Przykład | Czego dotyczy |
|---|---|
| SELECT | podstawowe pobieranie danych z tabeli |
| Podzapytanie | zapytanie zagnieżdżone w innym zapytaniu |
| Sprzedaż miesięcznie (strftime) | grupowanie zamówień po miesiącu |
| GROUP BY + HAVING | agregacje i filtrowanie wyników grup |
| CTE + funkcja okna RANK() | wspólne wyrażenie tablicowe połączone z rankingiem |
Zapytanie uruchomisz przyciskiem albo skrótem Ctrl+Enter. Możesz wykonać kilka zapytań naraz, a każde zwróci osobny wynik. Wyniki pokazują się w tabelach (do 500 wierszy na wynik), a obok znajdziesz czas wykonania oraz liczbę zmienionych wierszy. Gdy chcesz wrócić do punktu wyjścia, użyj resetu do przykładu.
Nauka SQL na przykładach: od SELECT do funkcji okna
Tabele klienci i zamowienia są małe, więc świetnie nadają się do ćwiczeń. Poniżej krótkie omówienie najważniejszych konstrukcji. Każde zapytanie możesz wkleić do edytora i od razu zobaczyć efekt.
- SELECT wybiera kolumny i filtruje wiersze: SELECT imie, miasto FROM klienci WHERE miasto = 'Kraków' ORDER BY imie;
- JOIN łączy wiersze z dwóch tabel po wspólnej kolumnie: SELECT k.imie, z.produkt, z.kwota FROM klienci k JOIN zamowienia z ON z.klient_id = k.id;
- GROUP BY zbiera wiersze w grupy i liczy agregaty: SELECT miasto, COUNT(*) AS liczba FROM klienci GROUP BY miasto;
- HAVING filtruje już policzone grupy: SELECT klient_id, SUM(kwota) AS suma FROM zamowienia GROUP BY klient_id HAVING SUM(kwota) > 1000;
- Podzapytanie to zapytanie w zapytaniu, na przykład warunek na zbiorze identyfikatorów: SELECT imie FROM klienci WHERE id IN (SELECT klient_id FROM zamowienia WHERE status = 'anulowane');
- CTE to nazwany blok, który porządkuje dłuższe zapytania: WITH suma AS (SELECT klient_id, SUM(kwota) AS total FROM zamowienia GROUP BY klient_id) SELECT * FROM suma ORDER BY total DESC;
- Funkcje okna liczą wartości w kontekście innych wierszy, na przykład ranking: SELECT klient_id, SUM(kwota) AS total, RANK() OVER (ORDER BY SUM(kwota) DESC) FROM zamowienia GROUP BY klient_id;
Zapamiętaj jedną różnicę: WHERE działa przed grupowaniem, a HAVING po nim. Dlatego warunki na SUM() czy COUNT() zapisujesz w HAVING (funkcji okna, jak RANK(), nie użyjesz ani w WHERE, ani w HAVING — do filtrowania po rankingu służy CTE lub podzapytanie), a zwykłe porównania kolumn w WHERE. Podzapytania i CTE pomagają rozbić trudniejsze zadanie na mniejsze kroki, a funkcje okna pozwalają dodać ranking albo numerację bez gubienia szczegółowych wierszy.
Jak otworzyć własny plik .sqlite i zaimportować CSV
Praca na własnych danych sprowadza się do kilku kroków:
- Otwórz plik bazy. Wskaż plik z rozszerzeniem .sqlite lub .db. Baza wczyta się do edytora i pojawi się w panelu tabel razem z kolumnami oraz liczbą wierszy.
- Zaimportuj CSV. Wybierz plik CSV, a narzędzie rozpozna separator (przecinek lub średnik), obsłuży cudzysłowy i zamieni liczby na wartości liczbowe. Z danych powstanie tabela, na której od razu możesz pisać zapytania.
- Pracuj jak na zwykłej bazie. Łącz tabele z importu z przykładowymi, filtruj, grupuj, licz sumy. Składnia zapytań się nie zmienia.
- Pobierz bazę. Całość zapiszesz jako plik .sqlite. To ważne, bo baza istnieje wyłącznie w pamięci karty przeglądarki i po jej zamknięciu znika. Jeśli chcesz zachować efekty pracy, pobierz plik przed wyjściem.
- Zresetuj. Jednym kliknięciem wracasz do przykładowej bazy z tabelami klienci i zamowienia.
Pliki i dane nie są wysyłane na serwer webp.pl, bo cała obróbka odbywa się w Twojej przeglądarce. Możesz więc spokojnie pracować na plikach, które nie powinny opuszczać Twojego komputera.
Ograniczenia: pamięć przeglądarki, brak współdzielenia, różnice względem MySQL i PostgreSQL
Warto znać granice tego rozwiązania, żeby się nie rozczarować.
- Pamięć karty. Baza żyje w pamięci karty przeglądarki. Po jej zamknięciu dane znikają, więc trwały efekt uzyskasz tylko przez pobranie pliku .sqlite. Bardzo duże pliki mogą być też ograniczone dostępną pamięcią, a każdy wynik pokazuje maksymalnie 500 wierszy.
- Brak współdzielenia. Nikt poza Tobą nie widzi Twojej bazy i nie ma do niej dostępu. Nie przekażesz jej linkiem, nie popracujecie nad nią we dwie osoby jednocześnie.
- SQLite a MySQL i PostgreSQL. SQLite jest bazą wbudowaną, bez serwera, zapisaną w jednym pliku. Typy traktuje elastycznie, więc mniej rzeczy zgłosi jako błąd, za to łatwiej o literówkę w danych. W praktyce jeden zapisujący na raz i brak rozbudowanej obsługi użytkowników i uprawnień odróżniają go od serwerowych baz. Różnią się też szczegóły składni, na przykład funkcje daty czy sposób modyfikowania tabel.
Do nauki, analizy i podglądu danych SQLite jest doskonały. Do wielodostępnej aplikacji produkcyjnej wybierzesz raczej bazę serwerową.
Najczęstsze pytania
Czy SQLite online to prawdziwa baza SQLite?
Tak. Edytor uruchamia prawdziwy silnik SQLite w wersji sql.js 1.14, czyli SQLite skompilowany do WebAssembly na licencji MIT. Zapytania wykonują się na rzeczywistej bazie, a nie na atrapie.
Czy moje dane i pliki są wysyłane na serwer?
Nie. Wszystko działa w Twojej przeglądarce, a pliki i dane nie są wysyłane na serwer webp.pl. Pamiętaj jednak, że baza istnieje tylko w pamięci karty i po jej zamknięciu przepada.
Jak zaimportować CSV do bazy SQLite w przeglądarce?
Wybierasz plik CSV, a narzędzie tworzy z niego tabelę. Separator (przecinek lub średnik), cudzysłowy i liczby rozpoznawane są automatycznie, więc od razu możesz pisać zapytania do zaimportowanych danych.
Jak otworzyć plik .sqlite lub .db online?
Wystarczy wskazać plik w edytorze. Baza wczyta się do karty, a jej tabele zobaczysz w panelu z kolumnami i liczbą wierszy, jeszcze przed napisaniem pierwszego zapytania.
Czy baza zapisze się sama i jak wrócić do przykładu?
Nie zapisze się sama, bo trzyma się w pamięci karty. Jeśli chcesz ją zachować, pobierz bazę jako plik .sqlite. Reset do przykładu przywraca tabele klienci i zamowienia.
Czym różni się SQLite od MySQL i PostgreSQL?
SQLite jest wbudowany w aplikację i zapisany w jednym pliku, bez serwera i bez kont użytkowników. Typy danych traktuje elastycznie i obsługuje jeden zapisujący na raz, a składnia w szczegółach różni się od serwerowych baz.
Zobacz też — powiązane narzędzia
Silnik: sql.js (SQLite w WebAssembly, licencja MIT).