Jak korzystać z przeglądarki DB dla SQLite w systemie Linux
Opublikowany: 2022-01-29DB Browser for SQLite umożliwia przeglądanie i edycję baz danych SQLite w systemie Linux. Możesz projektować, tworzyć i edytować te pliki bazy danych oraz zaglądać do wnętrza innych aplikacji. Oto jak korzystać z tego GUI SQLite.
Projekt bazy danych SQLite
Biblioteka i narzędzia bazy danych SQLite to fenomenalnie udany projekt bazy danych typu open source w strukturalnym języku zapytań (SQL). Tak skuteczny, że może słusznie nazywać się najczęściej stosowanym silnikiem bazy danych na świecie.
Od czasu pierwszego wydania w 2000 r., SQLite odnotował absolutnie oszałamiający wzrost. Znajduje się w każdym telefonie iPhone i telefonie z systemem Android oraz komputerze z systemem Windows 10 lub Mac. Działa również w każdej przeglądarce internetowej, w tym w Chrome, Firefox i Safari, a także w niezliczonych innych aplikacjach.
Niesamowity zasięg bazy danych SQLite wynika z jej architektury. Jest to szybka, lekka biblioteka, która jest zintegrowana (lub połączona w języku programisty) z innymi aplikacjami. Silnik bazy danych staje się integralną częścią produktu. Oznacza to, że nie musisz udostępniać zewnętrznego serwera bazy danych SQL, takiego jak MySQL, MariaDB lub Microsoft SQL Server.
SQLite ma również narzędzie wiersza poleceń do manipulowania bazami danych, ale to biblioteka uczyniła z niego triumf. Posiadanie wydajnego, samodzielnego silnika bazy danych schowanego w aplikacji usuwa wiele problemów. Upraszcza procedury instalacyjne Twojej aplikacji i obniża minimalne wymagania sprzętowe dla Twojej aplikacji.
Dodatkowo, ponieważ SQLite używa jednego wieloplatformowego pliku dla swoich tabel bazy danych, indeksów i schematów, całą bazę danych można przenieść na inny komputer. Możesz nawet przenieść go na komputer z innym systemem operacyjnym, kopiując jeden plik.
W rzeczywistości format pliku bazy danych SQLite jest tak dobrze znany, że jest jednym z niewielu zalecanych przez Bibliotekę Kongresu do długoterminowego przechowywania danych.
Ponieważ SQLite jest biblioteką programisty, nie ma dla niej interfejsu, co oznacza, że nie ma graficznego interfejsu użytkownika. Jest to aplikacja korzystająca z biblioteki, która udostępnia interfejs użytkownika. Narzędzie wiersza polecenia może działać w trybie interaktywnym, ale nadal nie jest graficznym interfejsem użytkownika.
Przeglądarka DB dla SQLite (DB4S) ładnie pasuje do tej ustawy. Jest to wizualne narzędzie opracowane przez inny projekt open-source, który umożliwia tworzenie i manipulowanie bazami danych SQLite z poziomu GUI.
Przeglądarka DB dla SQLite
DB Browser for SQLite istnieje (w tym czy innym wcieleniu) od 2003 roku i przeszedł kilka zmian nazwy. Wcześniej była nazywana Przeglądarką SQLite, ale to spowodowało zamieszanie. Ludzie myśleli, że został napisany przez zespół SQLite i dlatego przesyłali prośby o nowe funkcje i zapytania o wsparcie dotyczące DB4S do SQLite.
Tak więc przeglądarka SQLite została przemianowana na przeglądarkę DB na SQLite. Nadal będziesz widzieć odniesienia do starej nazwy tu i tam. W rzeczywistości witryna projektu nadal używa „sqlitebrowser” jako swojej domeny, a stara nazwa jest również używana podczas instalacji DB4S.
Z DB4S możesz:
- Twórz bazy danych.
- Importuj i eksportuj schematy baz danych, tabele i dane w formacie SQL.
- Importuj i eksportuj tabele i dane w formacie CSV.
- Twórz, edytuj i usuwaj tabele i indeksy.
- Dodawaj, edytuj i usuwaj rekordy.
- Przeglądaj i wyszukuj rekordy bazy danych.
- Edytuj i uruchamiaj polecenia SQL. Możesz upewnić się, że polecenie zrobi to, co myślisz, że zrobi, zanim zakodujesz na stałe trochę kodu SQL w swojej aplikacji.
Instalowanie przeglądarki DB dla SQLite
Aby zainstalować DB4S na Ubuntu, użyj następującego polecenia (zwróć uwagę, że instalacja nadal używa starej nazwy):
sudo apt-get install sqlitebrowser
W Fedorze wpisujesz:
sudo dnf zainstaluj przeglądarkę sqlite
Na Manjaro używamy pacman
:
sudo pacman -Sy sqlitebrowser
Importowanie bazy danych z pliku SQL
Kiedy DB4S się uruchamia, nie ma do niego załadowanej bazy danych. Przyjrzymy się dwóm sposobom importowania definicji danych i tabel bazy danych, a także sposobom tworzenia własnej bazy danych.
Czasami możesz otrzymać lub wysłać plik zrzutu bazy danych w formacie SQL. Zawiera instrukcje niezbędne do ponownego utworzenia bazy danych i wstawienia jej danych do bazy danych.
Innym popularnym formatem używanym do importowania definicji tabel i danych jest format wartości rozdzielanych przecinkami (CSV). Możesz użyć witryny generowania danych, takiej jak Database Test Data, do wygenerowania fikcyjnych danych w celach ćwiczeniowych. Następnie możesz wyeksportować swoje dane jako SQL lub CSV.
Poniżej znajduje się plik SQL, który utworzyliśmy na tej stronie. Po wyeksportowaniu dokonaliśmy edycji i dodaliśmy linię na górze pliku, która jest wymagana dla SQLite:
ROZPOCZNIJ TRANSAKCJĘ;
Następnie zapisaliśmy plik. W DB4S klikamy Plik > Importuj > Baza danych z pliku SQL.
Otworzy się okno dialogowe wyboru pliku, dzięki czemu możemy wybrać nasz plik SQL. W naszym przykładzie nazywa się „database_dump.sql” i znajduje się w katalogu głównym naszego katalogu domowego.
Po wybraniu pliku klikamy "Otwórz" i otwiera się okno dialogowe zapisywania pliku. Teraz musisz nazwać swoją nową bazę danych i zdecydować, gdzie ją zapisać. Nazwaliśmy nasz „geekbase.sqlite3” i zapisujemy go w naszym katalogu domowym.
Kliknij „Zapisz”, gdy będziesz gotowy, aby kontynuować. Zidentyfikowaliśmy nasz źródłowy plik SQL i nazwaliśmy naszą nową bazę danych, więc można teraz rozpocząć proces importowania. Po zakończeniu zobaczysz poniższe okno dialogowe powiadomienia.
Ponieważ dodaliśmy tabele i dane do bazy danych, zostaniemy poproszeni o zapisanie tych zmian, więc klikamy „Zapisz”, aby to zrobić.
W głównym oknie DB4S wyświetli się teraz struktura naszej bazy danych.
Utworzono dwie tabele, chociaż w pliku SQL była tylko definicja jednej. Dzieje się tak, ponieważ pole „id” zostało zdefiniowane jako pole automatycznie zwiększające się. Zostanie on dodany automatycznie za każdym razem, gdy do bazy danych zostanie dodany nowy rekord. SQLite tworzy tabelę do śledzenia pól automatycznie zwiększających się.
Kliknij kartę „Przeglądaj dane”, aby zobaczyć nowo dodane rekordy.
Oczywiście siła bazy danych tkwi w jej zdolności do wyszukiwania i wyodrębniania rekordów. W przypadku bazy danych z obsługą SQL używamy do tego języka SQL. Aby rozpocząć, zakładka „Wykonaj SQL”.
Dodaliśmy następujące polecenie SQL:
SELECT * FROM account_details GDZIE nazwisko LIKE "%ll%" ORDER BY stan
Spowoduje to wyszukanie osób z podwójnym „l” w nazwisku, a wyniki zostaną posortowane według stanu. Kliknij niebieską strzałkę (wygląda jak przycisk „Odtwórz”), aby uruchomić polecenie SQL. Wyniki są wyświetlane w dolnym okienku.
Mamy cztery rekordy, które zawierają podwójne „l” w nazwisku i są posortowane alfabetycznie według stanu, od Arizony do Wisconsin.
Importowanie tabeli bazy danych z pliku CSV
Możemy również importować tabele z odpowiednich plików CSV. Najwygodniejszym sposobem jest umieszczenie nazw pól tabeli w pliku CSV jako pierwszego wiersza tekstu. Poniżej znajduje się krótka sekcja pliku CSV.
Pierwsza linia zawiera nazwy pól: imię, nazwisko, utworzone, e-mail, stan i identyfikator. Pozostałe wiersze zawierają wartości danych dla każdego rekordu, który zostanie dodany do tabeli. To te same dane, co poprzednio; zmienił się tylko format pliku.
Kiedy importujesz dane CSV, musisz utworzyć pustą bazę danych, aby mieć do czego je zaimportować. Aby to zrobić, kliknij "Nowa baza danych" na pasku narzędzi.
Otworzy się okno dialogowe zapisywania pliku. Nazwij swoją nową bazę danych i zdecyduj, gdzie ją zapisać. Zadzwonimy do naszego „howtogeek.sqlite3” i zapiszemy go w naszym katalogu domowym.
Gdy pojawi się okno dialogowe „Edytuj definicję tabeli”, kliknij „Anuluj”. Wróć do głównego okna DB4S, kliknij Plik > Importuj > Tabela z pliku CSV. Otworzy się okno dialogowe wyboru pliku, w którym możesz wybrać swój plik CSV.
W naszym przykładzie nazywa się „users.csv” i znajduje się w katalogu głównym naszego katalogu domowego. Kliknij „Otwórz”, a pojawi się okno dialogowe podglądu, pokazujące, jak DB4S zinterpretuje dane CSV.
Nazwa pliku jest używana jako nazwa tabeli. Możesz to edytować, jeśli chcesz, po prostu upewnij się, że zaznaczyłeś pole wyboru obok "Nazwy kolumn w pierwszym wierszu".
Kliknij „OK” (jest poza ekranem na powyższym obrazku). Dane są importowane i jeśli wszystko jest w porządku, powinieneś zobaczyć okno dialogowe „Importuj zakończone”; Kliknij OK."
Kliknij „Przeglądaj dane”, a zobaczysz zaimportowane dane.
Jednak wciąż mamy do zrobienia małą poprawkę. Kliknij zakładkę „Struktura bazy danych”, wybierz nazwę tabeli, a następnie kliknij „Modyfikuj tabelę” na pasku narzędzi.
W oknie dialogowym „Edytuj definicję tabeli” zaznacz pole wyboru „AI” (automatyczne zwiększanie) w polu „id”.
Pole wyboru „PK” (klucz podstawowy) jest automatycznie zaznaczone; Kliknij OK." Ustawia to pole „id” na automatyczne zwiększanie. Możemy teraz dodać nowy rekord do bazy danych, aby sprawdzić, czy działa.
Kliknij kartę „Wykonaj SQL”, a następnie wpisz następujący kod SQL w górnym okienku (zwróć uwagę, że podajemy wartości dla wszystkich pól z wyjątkiem „id”):
WSTAW W „Użytkownicy” („imię”, „nazwisko”, „utworzono”, „e-mail”, „stan”) WARTOŚCI („Dave”, „McKay”, „12.08.2020”, „[email protected]”, „Idaho”);
Kliknij niebieską strzałkę (która wygląda jak przycisk Odtwórz), aby uruchomić polecenie SQL. Kliknij „Przeglądaj dane” i przewiń w dół. Powinieneś zobaczyć swój nowo dodany rekord z automatycznie dostarczonym polem „id” zawierającym wartość o jeden wyższą niż poprzednia najwyższa wartość „id”.
Ręczne tworzenie bazy danych
Jeśli nie masz pliku SQL lub CVS do zaimportowania, będziesz musiał ręcznie utworzyć bazę danych. Aby rozpocząć, kliknij „Nowa baza danych”, a pojawi się okno dialogowe zapisywania pliku. Wpisz nazwę nowej bazy danych i miejsce, w którym chcesz ją zapisać.
Nazwaliśmy nasz „geeksrock.sqlite3” i zapisujemy go w katalogu „Dokumenty”. Po nazwaniu bazy danych i przejściu do lokalizacji, w której chcesz ją zapisać, kliknij "Zapisz".
Gdy pojawi się prośba o potwierdzenie wyboru, ponownie kliknij „Zapisz”.
Pojawi się okno dialogowe „Edytuj definicję tabeli”. Nazwij swój nowy stół (naszą naszą nazwaliśmy „orłami”), a następnie kliknij „Dodaj pole”. Możesz teraz wpisać nazwę pola i wybrać rodzaj informacji, które będzie ono zawierać z menu rozwijanego „Typ”.
Dodaliśmy pole tekstowe do przechowywania imienia orła oraz rzeczywiste (zmiennoprzecinkowe) pole numeryczne do przechowywania rozpiętości skrzydeł.
Pola wyboru i inne opcje obok każdego pola umożliwiają dodanie następujących zachowań:
- NN (Not Null): Gdy ta opcja jest ustawiona, pole nie może pozostać puste. Jeśli spróbujesz dodać rekord bez podania wartości dla tego pola, zostanie on odrzucony.
- PK (klucz podstawowy): pole (lub grupa pól), które zapewnia unikalny identyfikator rekordów w tabeli. Może to być prosta wartość liczbowa, taka jak pola liczb całkowitych z automatycznym zwiększaniem, które omówiliśmy powyżej. Jednak w tabeli kont użytkowników może to być nazwa użytkownika. W tabeli może być tylko jeden klucz podstawowy.
- AI (automatyczne zwiększanie): Pola numeryczne mogą być wypełniane automatycznie, kolejną najwyższą nieużywaną wartością. Użyliśmy tego w polu „id” w przykładzie, który omówiliśmy powyżej.
- U (niepowtarzalny): to pole w każdym rekordzie musi zawierać unikatową wartość, co oznacza, że w tym polu w tabeli nie może być żadnych duplikatów.
- Domyślna: wartość domyślna zostanie podana, jeśli zostanie dodany rekord, który nie ma wartości w tym polu.
- Sprawdzenie: pole może mieć wykonane sprawdzenie, gdy dodawany jest rekord. Na przykład możesz sprawdzić, czy wartość w polu numeru telefonu ma co najmniej 10 znaków.
- Sortowanie: Sqlite może używać różnych metod porównywania ciągów. Wartość domyślna to
BINARY
. Inne opcje toNOCASE
, który nie uwzględnia wielkości liter, orazRTRIM
, który ignoruje końcowe białe znaki. W większości przypadków możesz pozostawić tę wartość domyślną. - Klucz obcy: pole lub grupa pól w rekordzie, które muszą być zgodne z kluczem w innej tabeli. Na przykład w bazie danych narzędzi warsztatowych możesz mieć tabelę poszczególnych narzędzi i inną tabelę kategorii narzędzi. Jeśli kategorie narzędzi to „młotek”, „klucz płaski” i „śrubokręt”, nie można dodać rekordu typu „dłuto”.
Kliknij "OK" po dodaniu żądanych pól. Po utworzeniu bazy danych i dodaniu pierwszej tabeli możesz dodać kilka rekordów.
W zakładce „Wykonaj SQL” kilkakrotnie użyliśmy instrukcji SQL INSERT, aby dodać kilka rekordów do tabeli.
Możemy również skorzystać z zakładki „Przeglądaj dane”, aby zobaczyć nasze nowe rekordy.
Jeśli wolisz dodawać nowe rekordy za pomocą interfejsu użytkownika, kliknij „Nowy rekord” na pasku narzędzi. Następnie możesz wprowadzić wartości dla nowego rekordu bez znajomości języka SQL.
Bazy danych innych aplikacji
Możesz także użyć DB4S, aby zobaczyć bazy danych SQLite należące do innych aplikacji. Pouczające (lub po prostu interesujące) może być badanie struktury lub zawartości innych baz danych. Ważne jest jednak, aby nie wprowadzać zmian w bazach danych należących do innych aplikacji, ponieważ może to niekorzystnie wpłynąć na działanie tej aplikacji.
Przyjrzyjmy się jednej z baz danych SQLite, którą tworzy i utrzymuje Firefox. Kliknij „Otwórz bazę danych” na pasku narzędzi, a pojawi się okno dialogowe otwierania pliku. Firefox przechowuje swoje pliki w katalogu o nazwie „firefox”, który znajduje się w ukrytym katalogu o nazwie „.mozilla”, który znajduje się w twoim katalogu domowym.
Na naszej maszynie testowej znaleźliśmy bazy danych Firefox SQLite w tej lokalizacji: „home/dave/.mozilla/firefox/vpvuy438.default-release”; twój będzie w podobnej lokalizacji.
Zamierzamy otworzyć bazę danych „cookies.sqlite”, więc zaznaczamy plik, a następnie klikamy „Otwórz”. Po otwarciu bazy danych możesz sprawdzić jej strukturę tabeli, definicje pól i dane.
Tutaj możemy zobaczyć różne pliki cookie Google i YouTube.
Eksport zapewnia wgląd
Przydatne jest również eksportowanie bazy danych (klikając Plik > Eksportuj > Baza danych do pliku SQL). Patrząc na zrzut SQL bazy danych, możesz zobaczyć cały schemat bazy danych renderowany w instrukcjach SQL.