Samouczek SQLite: wszystko, co musisz wiedzieć



Ten samouczek sqlite pomoże ci zrozumieć, czym sqlite różni się od innych systemów relacyjnych baz danych i wszystkich podstawowych poleceń

Jeśli pracowałeś z relacyjnymi systemami baz danych, prawdopodobnie słyszałeś o popularnych systemach baz danych, takich jak MySQL , Serwer lub PostgreSQL . SQLite to kolejny niezwykle przydatny RDBMS, który jest bardzo prosty w konfiguracji i obsłudze. Ponadto ma wiele różnych funkcji w porównaniu z innymi relacyjnymi bazami danych. Ten samouczek SQLite uczy podstawowych pojęć, które musisz znać, korzystając z obszernych praktycznych praktyk.

Tematy omówione w tym artykule to:





Samouczek SQLite: Co to jest SQLite?

Oto standardowa definicja branżowa oprogramowania SQLite:

SQLite to niezależny, niezależny silnik relacyjnej bazy danych transakcji typu open source, o zerowej konfiguracji, przeznaczony do osadzania w aplikacji.

Możesz rozważyć SQLite jak ' zapalniczka ”Wersja innego złożonego RDBMS (Oracle, itp.), dla którego skonfigurowano jego silnik bazy danych niezależne przetwarzanie (biblioteka w procesie) czyli a bezserwerowy, niezależny, bezkonfiguracyjny i transakcyjny . Jest znany ze swojej przenośności, niezawodności i wysokiej wydajności nawet w środowiskach o małej ilości pamięci. Ponadto SQLite jest popularnym wyborem jako wbudowana baza danych do przechowywania lokalnego / klienta w programach lub aplikacjach końcowych, w przeciwieństwie do innych RDBMS, w których skonfigurowany jest silnik bazy danych klient-serwer.



Funkcje SQLite

SQLite oferuje wiele różnych funkcji, takich jak:

  • Bezserwerowe: Większość Bazy danych SQL są implementowane jako oddzielny proces serwera, ale SQLite nie ma oddzielnego procesu serwera. Jest to bezserwerowy silnik bazy danych. Czyta i zapisuje bezpośrednio w zwykłych plikach dyskowych.
  • Konfiguracja zerowa: Tonie wymaga żadnej konfiguracji do uruchomienia. Oznacza to, że nie ma procesu serwera, który trzeba uruchamiać, zatrzymywać lub konfigurować, jak w systemie klient / serwer.
  • Manifest Typing: SQLite wykorzystuje typ manifestu, który umożliwia przechowywanie dowolnej ilości danych dowolnego typu w dowolnej kolumnie bez względu na zadeklarowany typ danych. Zwróć uwagę, że istnieją pewne wyjątki od tej reguły.
  • Lekki: Jak sama nazwa wskazuje, biblioteka SQLite jest bardzo lekka. Rzecz w tym, że chociaż zajmowane przez niego miejsce różni się w zależności od systemu, w którym jest zainstalowany, może zajmować mniej niż 600 KB miejsca.
  • Przenośny: W przeciwieństwie do innych DBMS, plikcała baza danych SQLite jest przechowywana w jednym pliku.Ten plik można bardzo łatwo udostępniać za pośrednictwem nośników wymiennych lub protokołu przesyłania plików.
  • Różnorodny wybór: Wiele języków programowania udostępnia powiązania dla SQLite, w tym , , C # , , , Rubin , , i wiele więcej.
  • Wolny: SQLite jest darmowy i open-source. Do pracy z SQLite nie jest wymagana licencja komercyjna.

Jak wymieniono powyżej SQLitejest znany z zerowej konfiguracji, co oznacza, że ​​nie jest wymagana żadna skomplikowana konfiguracja ani administracja. W następnej części tego samouczka SQLite zobaczmy, jak zainstalować SQLite w systemie.

Samouczek SQLite: Instalowanie SQLite w systemie Windows

Oto kroki, które należy wykonać:



tablica obiektów w java

Krok 1: Przejdź do oficjalny SQLite stronę internetową i kliknij odpowiedni link, aby pobraćprekompilowane pliki binarne.

Krok 2: Pobierz plik zip wiersza poleceń SQLite (tutaj: sqlite-tools-win32-x86-3270200.zip) i rozwiń te pliki w wybranym folderze.

To narzędzie wiersza poleceń SQLite będzie zawierało następujące produkty SQLite

  • Rdzeń SQLite : Rdzeń SQLite zawiera rzeczywisty silnik bazy danych i publiczny interfejs API.
  • Narzędzie wiersza poleceń SQLite3 : Aplikacja sqlite3 to narzędzie wiersza poleceń, które jest oparte na rdzeniu SQLite.
  • Rozszerzenie Tcl : Ta biblioteka jest zasadniczo kopią rdzenia SQLite z dołączonymi wiązaniami Tcl.
  • Narzędzie analizatora SQLite : Narzędzie analizatora SQLite służy do analizowania plików bazy danych.

Krok 3: Następnie zainicjowanie wiersza poleceń SQLite jest tak proste, jak kliknięcie aplikacji sqlite3, co spowoduje wyświetlenie wiersza poleceń.

Jeśli chcesz przetestować dalej, po prostu wpisz .Wsparcie polecenie z sqlite> monit, aby wyświetlić wszystkie dostępne polecenia w sqlite3 jak pokazano poniżej.

Uwaga: Domyślnie sesja SQLite korzysta z bazy danych w pamięci, dlatego wszystkie zmiany znikną po zakończeniu sesji.

Wystarczająco proste, prawda? Następnie zacznijmy od poleceń SQLite.

Samouczek SQLite: Polecenia SQLite

Ta sekcja samouczka SQLite przedstawia podstawowe instrukcje SQL, których można używać z SQLite.

Uwaga: Polecenia SQLite kończą się średnikiem (). Informuje SQLite, że polecenie zostało wykonane i powinno zostać uruchomione.Możesz także rozłożyć polecenie na wiele linii i użyć średnika w ostatnim wierszu.

Polecenia bazy danych

Ta sekcja składa się z tych poleceń, za pomocą których możesz radzić sobie z bazą danych. Polecenia to:

  • SQLite Utwórz bazę danych

SQLite nie używa instrukcji CREATE DATABASE, jak w innych systemach zarządzania relacyjnymi bazami danych, takich jak MySQL , SQL Server, itp. Aby utworzyć nową bazę danych w SQLite, po prostu wprowadź sqlite3, a następnie nazwę pliku, którego chcesz użyć dla bazy danych. TPoniższy kod tworzy plik bazy danych o nazwie StudentDetails.db:

Przykład

sqlite3 StudentDetails.db sqlite> .databases main: D: sqliteStudentDetails.db
  • Baza danych załączników SQLite

Jeśli masz wiele baz danych, możesz używać tylko jednej naraz. W SQLite instrukcja ATTACH DATABASE służy do dołączania określonej bazy danych do bieżącego połączenia. ZAPo tym poleceniu wszystkie instrukcje SQLite zostaną wykonane w dołączonej bazie danych.

Przykład

sqlite> ATTACH DATABASE 'DepartmentDetails.db' AS 'Department' sqlite> .databases main: D: sqliteStudentDetails.db Department: D: sqliteDepartmentDetails.db
  • Odłącz bazę danych SQLite

W programie SQLite instrukcja DETACH DATABASE służy do odłączenia bazy danych o nazwie alias od połączenia z bazą danych, które zostało wcześniej dołączone za pomocą instrukcji ATTACH. Jeśli ten sam plik bazy danych został dołączony z wieloma aliasami, to polecenie rozłączy tylko daną nazwę, a reszta załącznika nadal będzie istnieć.Bazy danych w pamięci lub tymczasowej bazie danych zostaną całkowicie zniszczone, a zawartość zostanie utracona.

Przykład

sqlite> .databases main: D: sqliteStudentDetails.db Dział: D: sqliteDepartmentDetails.db Student: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db sqlite> DETACH DATABASE 'Dział' sqlite>. sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db sqlite> DETACH DATABASE 'Dział' sqlite>. Student: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db

Tabela poleceń

Tutaj dowiemy się, jak radzić sobie z tabelami podczas korzystania z SQLite.

  • Tworzenie tabeli SQL

W SQLite instrukcja CREATE TABLE służy do tworzenia nowej tabeli. Tworząc tabelę, musisz nazwać tabelę i zdefiniować jej kolumnę oraz typy danych każdej kolumny.

Składnia:

CREATE TABLE nazwa_tabeli (typ_kolumny1 typ_kolumny [ograniczenia] typ_kolumny2 typ_kolumny [ograniczenia] [.....])

Przykład

UTWÓRZ TABELĘ StudentInfo (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (50), DEPARTMENTID INTEGER NOT NULL, PHONE TEXT DEFAULT `` UNKNOWN '', obcy klucz (DEPARTMENTID) REFERENCES) DepartmentInfo (DeptID)

Możesz sprawdzić, czy tabela została utworzona, czy nie, za pomocą .tables polecenie, jak pokazano poniżej. Zwróć uwagę, że utworzyłem już tabelę o nazwie DepartmentInfo gdzie DeptID jest kluczem podstawowym.Tabela Departments ma ograniczenie klucza obcego do tabeli uczniów.

sqlite> .tables StudentInfo Kontakty Emp_Master
  • Drop Table w SQLite

W SQLite instrukcja DROP TABLE umożliwia usunięcie lub usunięcie tabeli z bazy danych SQLite. Po usunięciu tabeli wszystkie zawarte w niej dane są trwale usuwane z bazy danych. Wszelkie powiązane indeksy i wyzwalacze są również usuwane. Jeśli w tej tabeli jest włączone jakiekolwiek ograniczenie klucza obcego, spowoduje to równoważne usunięcie dla każdego wiersza w tabeli, a wszelkie wyzwalacze skojarzone z tabelą również zostaną usunięte.

Składnia

DROP TABLE [JEŚLI ISTNIEJE] nazwa_tabeli

Przykład

DROP TABLE Błąd działu: brak takiej tabeli: Dział DROP TABLE Firma sqlite> .tables StudentInfo

Uwaga: IF EXISTS, jest klauzulą ​​opcjonalną. Jeśli jest określony, instrukcja DROP TABLE nie zgłosi błędu, jeśli jedna z tabel nie istnieje.

Istnieje również plik Instrukcja SQLite Alter Table , które zrozumiemy w kilku następnych sekcjach tego artykułu. Po utworzeniu tabeli zobaczmy, jak wstawiać, usuwać i zmieniać dane.

Samouczek SQLite: Operacje CRUD

  • Zapytanie SQLite Insert

Po utworzeniu tabeli można użyć polecenia SQLite Insert Into do utworzenia nowych wierszy w określonej tabeli. Istnieją dwie znaczące formy instrukcji wstawiania SQLite. Pierwsza postać używa klauzuli VALUES do określenia listy wartości do wstawienia.

Składnia

INSERT INTO TABLE_NAME [(kolumna1, kolumna2, kolumna3, ... kolumnaN)] VALUES (wartość1, wartość2, wartość3, ... wartośćN)

Przykład

WSTAW DO StudentInfo (ID, NAZWISKO, WIEK, ADRES, IDENTYFIKATOR DZIAŁU, TELEFON) WARTOŚCI (1, „Dean”, 20, „California”, 2, „934 *******”)

Wynik

WYBIERZ * z StudentInfo ID NAZWA WIEK ADRES DEPARTAMENT IDENTYFIKATOR TELEFONU ---------- ---------- ---------- ---------- ---------- ---------- 1 Dziekan 20 Kalifornia 2 934 *******

Tutaj tworzony jest pojedynczy nowy wiersz, a każda wartość jest zapisywana w odpowiedniej kolumnie. Zauważ, że obie listy muszą mieć rozszerzenie podobnie Liczba przedmiotów. Tutaj lista kolumn jest opcjonalne. Możemy również wstawić dane do tabeli bez określania listy kolumn .

Przykład

WSTAW WARTOŚCI StudentInfo (2, 'SAM', 22, 'Texas', 2, '976 *******')

Wynik

WYBIERZ * z StudentInfo ID NAZWA WIEK ADRES DEPARTAMENT IDENTYFIKATOR TELEFONU ---------- ---------- ---------- ---------- ---------- ---------- 1 Dziekan 20 Kalifornia 2 934 ******* 2 SAM 22 Teksas 2 976 *******

SQLite oferuje również funkcję wstaw wiele wierszy w jednej instrukcji INSERT. Składnia jest taka, jak pokazano poniżej.

Przykład

WSTAW WARTOŚCI StudentInfo (3, 'John', 23, 'Norway', 1, '923 *******'), (4, 'Mitch', 22, 'Houston', 3, '934 ** ***** ')

Wynik

Wybierz * z StudentInfo 1 | Dean | 20 | Kalifornia | 2 | 934 ******* 2 | SAM | 22 | Teksas | 2 | 976 ******* 3 | John | 23 | Norwegia | 1 | 923 ******* 4 | Mitch | 22 | Houston | 3 | 934 *******

Jak widać, format wyniku nie jest podobny do poprzedniego. Jak więc zmienić format danych wyjściowych w SQLite? Sformatujmy dane wyjściowe, aby nasze wyniki były nieco bardziej czytelne.

  • Formowanie

Możesz użyć .mode, aby zmienić tryb wyjścia. Powyższy przykład używa .tryb list, która wyświetla wyniki w postaci listy. Możesz także użyć .headers instrukcja, aby określić, czy mają być wyświetlane nagłówki kolumn. Po dokonaniu zmian możesz wyświetlić ustawienie za pomocą .pokazać Komenda.

Przykład

sqlite> .mode 'column' sqlite> .headers on sqlite> .show echo: off eqp: off wyjaśnienie: auto headers: on mode: column nullvalue: '' output: stdout colseparator: '|' wierszseparator: statystyki 'n': wyłączone szerokość: nazwa pliku: StudentDetails.db

Wynik

WYBIERZ * FROM StudentInfo ID NAZWA WIEK ADRES TELEFON ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2934 ******* 2 SAM 22 Texas 2976 ******* 3 John 23 Norwegia 1923 ******* 4 Mitch 22 Houston 3934 *******
  • Zapytanie wybierające SQLite

W SQLite używana jest instrukcja Selectpobieranie danych z tabeli, która zwraca dane w postaci tabeli wynikowej. Te tabele wynikowe są również nazywane wynikami zestawy. Używając instrukcji SQLite select możemy wykonać proste obliczenia lub wiele wyrażeń w oparciu o nasze wymagania.Używaliśmy już wcześniej instrukcji SELECT podczas wstawiania danych.

Składnia

SELECT [ALL | DISTINCT] wynik [FROM table-list] [WHERE expr]
  • ODRĘBNY - Kiedy używamy odrębnego słowa kluczowego w instrukcji select, zwraca to tylko odrębne wiersze danych.
  • WSZYSTKO - Jeśli użyjemy słowa kluczowego ALL w instrukcji select, zwróci ono wszystkie wiersze danych, nawet jeśli są zduplikowane.
  • Z listy tabel - Jest to lista tabel, z których chcesz pobrać dane.
  • GDZIE wyrażenie - Wyrażenie WHERE służy do definiowania naszych niestandardowych warunków w celu uzyskania wymaganych danych z tabel.

Przykład 1

jak posortować tablicę c ++
WYBIERZ ID, IMIĘ OD StudentInfo GDZIE WIEK<21

Wynik

IMIĘ I NAZWISKO ---------- ---------- 1 Dziekan

Przykład 2

Wybierz NAME FROM StudentInfo WHERE DEPARTMENTID = (SELECT DeptID FROM DepartmentInfo WHERE DeptName = 'Psychology')

Wynik

// pobiera osoby z działu o identyfikatorze 2 IMIĘ ---------- Dean SAM
  • Zapytanie o aktualizację SQLite

W SQLite instrukcja UPDATE może służyć do modyfikowania istniejących rekordów w tabeli.Klauzula WHERE programu SQLite może służyć do dokładnego określenia, które wiersze mają zostać zaktualizowane. Możesz łatwo zaktualizować wszystkie wiersze, niektóre wiersze lub żadnego, w zależności od warunków filtrowania zastosowanych przez klauzulę WHERE.

Składnia

UPDATE nazwa_tabeli SET kolumna1 = wartość1, kolumna2 = wartość2 ...., kolumnaN = wartośćN WHERE [warunek]

Przykład

UPDATE StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2'

Wynik

WYBIERZ * FROM StudentInfo ID NAZWA WIEK ADRES DZIAŁ IDENTYFIKATOR TELEFON ---------- ---------- ---------- ---------- ------------ ---------- 1 Dziekan 20 Kalifornia 2934 ******* 2 SAM 22 Teksas 4976 ******* 3 Jan 23 Norwegia 1923 ******* 4 Mitch 22 Houston 3934 *******
  • Zapytanie o usunięcie SQLite

W SQLite do usunięcia rekordu z tabeli można użyć instrukcji DELETE. W zależności od warunków filtrowania zastosowanych przez klauzulę WHERE można łatwo usunąć wszystkie wiersze, niektóre wiersze lub ich brak.

Przykład

USUŃ Z DepartmentInfo WHERE DeptName = 'Science'

Wynik

SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1 Matematyka 2 Psychologia 3 Sport 4 Muzyka

Jeśli spróbujesz usunąć rekord, do którego odwołuje się klucz obcy, pojawi się błąd. Przed usunięciem rekordu klucza podstawowego należy najpierw usunąć rekordy klucza obcego. Spróbujmy usunąć dział naukowy.

Przykład

DELETE FROM DepartmentInfo WHERE DeptName = 'Music' Błąd: ograniczenie klucza obcego nie powiodło się

Dlatego musimy usunąć rekordy klucza obcego, zanim usuniemy klucz podstawowy.

DELETE FROM StudentInfo WHERE DEPARTMENTID = 4 sqlite> DELETE FROM DepartmentInfo WHERE DeptName = 'Music' sqlite> SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1 Matematyka 2 Psychologia 3 Sport WYBIERZ * FROM StudentInfo ID IMIĘ WIEK ADRES DZIAŁ IDENTYFIKATOR TELEFONU ---------- ---------- ---------- ------- --- ------------ ---------- 1 Dziekan 20 Kalifornia 2 934 ******* 3 Jan 23 Norwegia 1923 ****** * 4 Mitch 22 Houston 3934 *******

Teraz wiesz, jak edytować rekordy w tabeli bazy danych SQLite. Przechodząc dalej w tym blogu z samouczkiem SQLite, omówimy różne klauzule i warunki, które najczęściej spotykasz w SQLite.

Klauzule / warunki SQLite

Zanim zaczniesz korzystać z klauzul, oto pełna składnia instrukcji SELECT w SQLite.

Składnia

SELECT [ALL | DISTINCT] wynik [FROM lista-tabel] [WHERE wyrażenie] [GROUP BY lista-wyrażeń] [HAVING wyrażenie] [wybór operacji złożonej] * [ORDER BY sort-expr-list] [LIMIT integer [(OFFSET |,) integer ]]

Uwaga: zaktualizowałem tabele StudentInfo i DepartmentInfo, jak pokazano poniżej.

// ID stołu ucznia NAZWA WIEK ADRES IDENTYFIKATOR DZIAŁU TELEFON ---------- ---------- ---------- ---------- ------------ ---------- 1 Dziekan 20 Kalifornia 2934 ******* 3 John 23 Norwegia 1923 ******* 4 Mitch 22 Houston 3934 ******* 2 SAM 22 Texas 4976 ******* 5 Johny 23 Norwegia 2945 ******* 6 Robin 23 Norwegia 2 NIEZNANY // Szczegóły działu ID działu Nazwa działu - --------- ----------- 1 Matematyka 2 Psychologia 3 Sport 4 Muzyka 5 Nauka
  • SQLite GDZIE

W SQLite klauzula WHERE służy do nakładania ograniczeń na instrukcję SELECT poprzez zdefiniowanie jednego lub więcej warunków, aby uzyskać wymagane dane z tabel w bazie danych.Jeśli określony warunek jest spełniony lub prawdziwy, zwraca określoną wartość z tabeli. Jak widzieliśmy wcześniej, klauzula WHERE jest używana nie tylko w instrukcji SELECT, ale jest również używana w instrukcji UPDATE, DELETE itp.

Przykład

WYBIERZ NAZWĘ Z StudentInfo GDZIE WIEK = 23 NAZWISKO ---------- John Johny Robin

W SQLite istnieje wiele operatorów relacyjnych, których można używać z klauzulą ​​WHERE.

  • SQLite GROUP BY

W SQLite klauzula GROUP BY służy do agregowania danych w jednym wierszu, w którym powtarza się wartość co najmniej jednej określonej kolumny. Ta klauzula jest używana z klauzulą ​​WHERE w instrukcji SELECT i poprzedza klauzulę ORDER BY.

Składnia

marionetka vs szef kuchni vs doker
SELECT result FROM [table-list] GROUP BY [expr-list]
WYBIERZ NAZWĘ, ADRES Z GRUPY StudentInfo NAZWA NAZWA ADRES ---------- ---------- Dean California John Norway Johny Norway Mitch Houston Robin Norway SAM Texas

Zwróć uwagę, że proces grupowania składa się z dwóch etapów. Najpierw wyrażenie GROUP BY służy do porządkowania wierszy tabeli w różne grupy. Po zdefiniowaniu grup instrukcja SELECT określa, w jaki sposób te grupy są spłaszczane w jednym wierszu.

  • SQLite ZAMÓWIENIE WEDŁUG

Ogólnie rzecz biorąc, tabele SQLite przechowują dane w nieokreślonej kolejności i zwracają rekordy w tej samej nieokreślonej kolejności podczas pobierania danych za pomocą instrukcji SQLite select. W takich przypadkach można użyć klauzuli ORDER BY, która służy do sortowania rekordów kolumn w porządku rosnącym lub malejącym. W poniższym przykładzie pogrupowałem i uporządkowałem (w kolejności malejącej) dane na podstawie adresu.

Składnia

WYBIERZ wyrażenia FROM lista-tabel [WHERE warunki] ORDER BY kolumna1, kolumna2, ... [ASC | DESC]

Przykład

WYBIERZ ADRES, LICZBA (ADRES) Z GRUPY StudentInfo WG ADRESU KOLEJNOŚĆ WEDŁUG ADRESU DESC LICZBA ADRESÓW (ADRES) ---------- -------------- Teksas 1 Norwegia 3 Houston 1 Kalifornia 1
  • SQLite POSIADA

W SQLite MAJĄCY klauzula jest identyczna z GDZIE klauzula. Klauzula HAVING to kolejny warunek stosowany po przeprowadzeniu agregacji wraz z grupowaniem w instrukcji select. Ogólnie w SQLite, GDZIE klauzula służy do zastosowania warunku do poszczególnych elementów w tabeli ithe MAJĄCY Klauzula służy do dodawania warunków filtru na podstawie grup utworzonych za pomocą klauzuli Group By.

Przykład

WYBIERZ ADRES, LICZBA (ADRES) Z GRUPY StudentInfo WG ADRESU MAJĄCY LICZNIK (*)> 1 ADRES LICZBA (ADRES) ---------- -------------- Norwegia 3
  • Klauzula limitu SQLite

W SQLite klauzula LIMIT służy do ustawiania limitu rekordów zwracanych przez instrukcję select. Rozważmy przykład, aby zrozumieć koncepcję.

Składnia

WYBIERZ wyrażenia FROM lista-tabel [WHERE warunki] LIMIT liczba_wiersz OFFSET offset_value

Przykład

WYBIERZ NAZWĘ, ADRES Z StudentInfo LIMIT 4 PRZESUNIĘCIE 2 NAZWA ADRES ---------- ---------- Mitch Houston SAM Texas Johny Norway Robin Norway

OFFSETOWYjest opcjonalny i określa, ile wierszy ma zostać pominiętych na początku zestawu wyników na podstawie offset_value .

  • SQLite AND & OR

W SQLite operatory AND i OR są używane do wykonywania wielu warunków dotyczących zaznaczania, wstawiania, aktualizowania i usuwania instrukcji w oparciu o nasze wymagania. Operator SQLite AND zwróci wiersze lub rekordy spełniające warunki zdefiniowane przy użyciu operatora AND.

Przykład 1

WYBIERZ NAZWĘ Z StudentInfo GDZIE WIEK = 22 I ADRES = IMIĘ 'Teksas' ---------- SAM

Warunek OR służy do definiowania wielu warunków w instrukcjach SQLite i zwróci wiersze lub rekordy z instrukcji, jeśli którykolwiek z warunków zostanie spełniony.

Przykład 2

WYBIERZ NAZWĘ Z StudentInfo GDZIE (WIEK = 22 I ADRES = 'Norwegia') LUB ADRES = 'NAZWISKO' Norwegia '---------- John Johny Robin
  • Operator GLOB SQLite

W SQLite operator GLOB służy do sprawdzenia, czy podana wartość ciągu pasuje do określonego wzorca, czy nie. W przypadku, gdy wartość ciągu pasuje do wartości wzorca, to zwróci prawdziwe i jest podobny do operatora LIKE. Również GLOB jest wielkość liter ma znaczenie.

Składnia

SELECT * FROM nazwa_tabeli WHERE nazwa_kolumny GLOB 'wyrażenie-wyszukiwania'

Przykład

WYBIERZ * FROM StudentInfo GDZIE IMIĘ GLOB 'Joh *' ID IMIĘ WIEK ADRES DZIAŁ ID TELEFONU ---------- ---------- ---------- --- ------- ------------ ---------- 3 John 23 Norwegia 1923 ******* 5 Johny 23 Norwegia 2945 ** *****
  • SQLite Distinct

W SQLite słowo kluczowe DISTINCT skanuje zestaw wyników instrukcji SELECT i eliminuje zduplikowane wiersze. Ponadto wartości NULL są traktowane jako duplikaty, więc jeśli użyjemy klauzuli DISTINCT z kolumną, która ma wartości NULL, zachowa tylko jeden wiersz wartości NULL. Jeśli zastosujesz DISTINCT dla wielu kolumn, instrukcja zwraca każdą unikalną kombinację coulnm1 i kolumna2.

Przykład

WYBIERZ ODRÓŻNIONY WIEK Z WIEKU StudentInfo ---------- 20 23 22
  • Operator SQLite IN

W SQLite operator IN służy do określenia, czy dana wartość jest zgodna z listą podanych wartości, czy z wynikiem zwróconym przez podzapytanie.

Przykład

WYBIERZ NAZWĘ Z StudentInfo GDZIE ADRES W ('Texas', 'Houston') NAZWA ---------- Mitch SAM
  • SQLite UNION & UNION ALL

W SQLite operator UNION służy do łączenia zestawów wyników z 2 lub więcej instrukcji SELECT i usuwa zduplikowane wiersze między różnymi instrukcjami SELECT. Pamiętaj, że instrukcje SELECT, których użyliśmy z operatorem UNION, muszą mieć taką samą liczbę pól w zestawach wyników z podobnymi typami danych.

Składnia

SELECT wyrażenie1, wyrażenie2, ... wyrażenie_n FROM tabel [WHERE warunki] UNION / UNION ALL SELECT wyrażenie1, wyrażenie2, ... wyrażenie_n FROM tabel [WHERE warunki]

Przykład

WYBIERZ DEPARTMENTID Z UNII StudentInfo WYBIERZ DeptId FROM DepartmentInfo KOLEJNOŚĆ WEDŁUG DEPARTMENTID ASC DEPARTMENTID ------------ 1 2 3 4 5

Operator UNION ALL służy do łączenia zestawów wyników 2 lub więcej instrukcji SELECT i zwraca wszystkie wiersze, w tym duplikaty.

Przykład

WYBIERZ DEPARTMENTID Z UNII StudentInfo WSZYSTKIE WYBIERZ DeptId FROM DepartmentInfo KOLEJNOŚĆ WEDŁUG DEPARTMENTID ASC DEPARTMENTID ------------ 1 1 2 2 2 2 3 3 4 4 5

W ten sposób omówiliśmy najbardziej podstawowe polecenia, których możesz potrzebować podczas pracy z SQLite. Przechodząc dalej w tym samouczku SQLite, przyjrzyjmy się instrukcji join w SQLite.

Łączy w SQLite

W SQLite, Joins toużywany do łączenia rekordów z dwóch lub więcej tabel w bazie danych i pobierania rekordów na podstawie naszych wymagań. reInne typy POŁĄCZEŃ dostępne w SQLite to:

  • Połączenie wewnętrzne -INNER JOIN służy do łączenia i zwracania tylko pasujących rekordów z tabel wielokrotności na podstawie warunków zdefiniowanych w instrukcjach SQLite.
  • Połączenie zewnętrzne -SQLite Outer Join wybierze pasujące wiersze z wielu tabel, tak samo jak Połączenie wewnętrzne i kilka innych wierszy poza relacją.Mówiąc prościej, możemy powiedzieć SQLiteZEWNĘTRZNE DOŁĄCZjest dodatkiemWEWNĘTRZNE DOŁĄCZENIE . Ogólnie rzecz biorąc, mamy trzy typy połączeń zewnętrznych w standardzie SQL: LEFT, RIGHT i FULL Outer Joins, ale SQLite obsługuje tylko LEFT OUTER JOIN.
  • Łączenie krzyżowe -Służy do uzyskania iloczynu kartezjańskiego wierszydopasowując każdy wiersz pierwszej tabeli do każdego wiersza drugiej tabeli.
  • Dołącz do siebie - Tosłuży do łączenia ze sobą tego samego stołu. Aby użyć Self Join, musimy utworzyć różne nazwy aliasów dla tej samej tabeli, aby wykonywać operacje w oparciu o nasze wymagania.

Koncepcja jest podobna do koncepcji innych systemów relacyjnych baz danych, takich jak SQL. Aby dowiedzieć się więcej, możesz zapoznać się z tym artykułem na temat .

W ten sposób omówiliśmy podstawowe polecenia SQLite. Pojęcia zaawansowane nie są tutaj omówione. Więc bądź na bieżąco z kolejnym artykułem na temat zaawansowanych koncepcji SQLite. Nawet ze wszystkimi dobrymi funkcjami, które ma do zaoferowania SQLite, ma również pewne wady.

Samouczek SQLite: Wady SQLite

Poniżej wymienione są wady korzystania z SQLite:

  • Nie działa dobrze w architekturze klient / serwer.
  • W większości przypadków rozmiar bazy danych SQLite jest ograniczony do 2 GB.
  • SQLite nie zaimplementował RIGHT OUTER JOIN i FULL OUTER JOIN. W SQLite możemy zaimplementować tylko LEFT OUTER JOIN.
  • Widoki w SQLite są tylko do odczytu. Nie możemy używać instrukcji DML (wstawiania, aktualizowania i usuwania) z widokami.
  • Nie możemy używać instrukcji GRANT i REVOKE z SQLite.

Na tym kończymy ten samouczek SQLite.

Jeśli chcesz dowiedzieć się więcej o MySQL i poznaj tę relacyjną bazę danych typu open source, a następnie sprawdź naszą który obejmuje szkolenie na żywo prowadzone przez instruktora i rzeczywiste doświadczenie projektowe. To szkolenie pomoże Ci dogłębnie zrozumieć MySQL i osiągnąć mistrzostwo w tym temacie.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w tym samouczku SQLite, a skontaktuję się z Tobą.