Golang Sqlite

Golang Sqlite
SQLite to prosty, minimalistyczny, szybki, wysoce niezawodny silnik bazy danych SQL. Jest to bardzo popularny i wydajny wybór do testowania ze względu na jego prostotę i dostępność.

W tym artykule odkryjesz, jak pracować z SQLite w języku programowania Go. W tym samouczku wykorzystuje bardzo prosty przykład, dzięki czemu jest odpowiedni dla początkujących.

Wymagania

Aby podążać za tym samouczkiem, potrzebujesz następujących czynności:

  1. Najnowsza wersja kompilatora Go.
  2. Wybrany edytor tekstu.
  3. Podstawowa znajomość Go.

Po spełnieniu wymagań możemy kontynuować.

Konfiguracja środowiska

Pierwszym krokiem jest utworzenie środowiska testowego w celu zbudowania aplikacji GO. Zacznij od utworzenia katalogu za pomocą polecenia:

Mkdir sqlite-test

Następnie przejdź do katalogu i zainicjuj za pomocą polecenia:

CD SQLITE-TEST
Go mod init init sqlite-test

Po zainicjowaniu modułów utwórz główny plik:

dotknij głównego.Iść

Następnie zaimportuj pakiet GO-SQLITE-3. Ten pakiet pozwala nam pracować z bazami danych SQLite za pomocą Go.

Dodaj następujący wiersz do swojego głównego.Plik Go:

import _ github.com/mattn/go-sqlite3 "

Uruchom poniższe polecenie, aby zainstalować pakiety.:

Idź modnie

Alternatywnie możesz uruchomić poniższe polecenie, aby ręcznie zainstalować pakiet Go-SQLite3:

Idź zdobyć github.com/mattn/go-sqlite3

Utwórz plik bazy danych

Ponieważ SQLite jest bazą danych opartą na plikach, musimy utworzyć plik bazy danych, aby przechowywać dane. Możemy to zrobić za pomocą systemu operacyjnego.Metoda Utwórz ().

Przykładem jest jak pokazano:

Plik, err: = OS.Utwórz („baza danych.db ”)
Jeśli err != zero
dziennik.Fatalny (err)

plik.Zamknąć()

Utwórz funkcję tabeli

Aby dodać tabelę do bazy danych, możemy otworzyć plik do odczytu, a następnie dodać określoną tabelę. W tym przykładzie utworzymy funkcję, która przyjmuje surowe polecenia SQL, aby dodać nową tabelę.

Przykładem jest jak pokazano:

Func Createble (db *sql.Db)
Users_Table: = 'Utwórz użytkowników tabeli (
Identyfikator całkowitego nie zerowego klucza podstawowego autoincrement,
Tekst „nazwa pierwszej”,
Tekst „LastName”,
Tekst „Dept”,
„Wynagrodzenie” int); '
Zapytanie, err: = db.Przygotuj (Users_Table)
Jeśli err != zero
dziennik.Fatalny (err)

zapytanie.Exec ()
fmt.Println („Tabela utworzona pomyślnie!")

W powyższym przykładzie tworzymy funkcję, która przyjmuje surowe zapytanie SQL i wykonuje się w stosunku do określonej bazy danych. To utworzy tabelę bazy danych w SQLite.

Wstaw funkcję rekordu

Następną częścią jest zbudowanie funkcji, która pozwala nam wstawić rekordy do tabeli. Przykładowy kod jest taki jak pokazano:

Func Addusers (DB *SQL.Db, ciąg FirstName, LastName String, Dept String, pensja int)
Records: = 'Wstaw do użytkowników (FirstName, LastName, Dept, wynagrodzenie) wartości (?, ?, ?, ?) '
Zapytanie, err: = db.Przygotuj (zapisy)
Jeśli err != zero
dziennik.Fatalny (err)

_, err = zapytanie.Exec (FirstName, LastName, Dept, pensja)
Jeśli err != zero
dziennik.Fatalny (err)

Pobierz funkcję rekordów

Ostateczna funkcja, którą musimy utworzyć, to taka, która pobiera rekordy przechowywane w bazie danych, przykład jest pokazany:

Func Fetchrecords (db *sql.Db)
Record, err: = db.Zapytanie („Wybierz * od użytkowników”)
Jeśli err != zero
dziennik.Fatalny (err)

Odroczenie rekordu.Zamknąć()
do wiadomości.Następny()
var id int
var FirstName String
var LastName String
VAR DEPT String
var pensja int
nagrywać.Scan (& ID, & FirstName, & LastName, & Dept i pensja)
fmt.Printf („Użytkownik: %d %s %s %s %d”, identyfikator, pierwsza nazwa, lastName, Dept, wynagrodzenie)

Powyższa funkcja używa iteratora kursora do pobierania wierszy z bazy danych.

Wykonaj zapytania w bazie danych

Po ogłoszeniu naszych funkcji musimy je zadzwonić, aby dodać rekordy do bazy danych. Zaczniemy od otwarcia pliku bazy danych. Następnie nazywamy metody CreateTable () i addusers ().

Przykładowy kod jest tak, jak pokazano:

baza danych, _: = sql.Otwórz („sqlite3”, „baz danych.db ”)
CreateTable (baza danych)
Addusers (baza danych, „Ankita”, „Maudie”, „Game Developer”, 140000)
Addusers (baza danych, „Emiliana”, „Alfiya”, „Bakend Developer”, 120000)
Addusers (baza danych, „Emmet”, „Brian”, „DevOps Developer”, 110000)
Addusers (baza danych, „Reidun”, „Jorge”, „DTABase Developer”, 140000)
Addusers (baza danych, „Tyrone”, „Silvia”, „Front-end Developer”, 109000)
Baza danych Defer.Zamknąć()
// Pobieraj rekordy:
Fetchrecords (baza danych)

Powyższa sekcja otwiera bazę danych do odczytu i wprowadza rekordy za pomocą metody addusers ().

Skompiluj i uruchom

Aby zbudować program, musisz zainstalować kompilator GCC w swoim systemie. Jest to wymagane przez pakiet Go-Sqlite3. Sprawdź poniższy zasób, aby dowiedzieć się, jak zainstalować zależności od systemu.

https: // github.com/mattn/go-sqlite3

Możesz teraz zbudować kod jako:

idź budować główne.Iść

Możesz uruchomić program jako:

./główny.exe

Kod powinien zwrócić rekordy przechowywane w bazie danych. Przykładem jest to, jak pokazano:

Wniosek

W tym przewodniku omówiono sposób korzystania z bazy danych SQLite w Golang za pomocą pakietu Go-SQLite3. Sprawdź dokumenty, aby dowiedzieć się więcej.