Golang Sqlite

Golang Sqlite
SQLite er en enkel, minimalistisk, rask, svært pålitelig SQL -databasemotor. Det er et veldig populært og effektivt valg for testing på grunn av dets enkelhet og tilgjengelighet.

I denne artikkelen vil du oppdage hvordan du jobber med SQLite i Go -programmeringsspråket. Denne opplæringen bruker et veldig enkelt eksempel som gjør det egnet for nybegynnere.

Krav

For å følge med denne opplæringen, trenger du følgende:

  1. Siste versjon av Go -kompilatoren.
  2. En tekstredaktør etter eget valg.
  3. Grunnleggende kunnskap om Go.

Når du har oppfylt kravene, kan vi fortsette.

Miljøoppsett

Det første trinnet er å lage et testmiljø for å bygge en GO -applikasjon. Begynn med å opprette en katalog ved hjelp av kommandoen:

mkdir sqlite-test

Deretter navigerer du inn i katalogen og initialiserer ved hjelp av kommandoen:

CD SQLite-test
gå mod init sqlite-test

Når du har initialisert modulene dine, oppretter du en GO -hovedfil:

berør Main.gå

Deretter importerer du Go-Sqlite-3-pakken. Denne pakken lar oss jobbe med SQLite -databaser ved hjelp av Go.

Legg til følgende linje i hoved.gå fil:

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

Kjør kommandoen nedenfor for å installere pakkene.:

gå mod ryddig

Alternativt kan du kjøre kommandoen nedenfor for å installere Go-SQLite3-pakken manuelt:

Gå GitHub.com/mattn/go-sqlite3

Opprett databasefil

Siden SQLite er en filbasert database, må vi opprette en databasefil for å lagre dataene. Vi kan gjøre dette ved hjelp av OS.Opprette () -metode.

Et eksempel er som vist:

Fil, feil: = OS.Opprett ("Database.db ")
Hvis feil != nil
Logg.Fatal (feil)

fil.Lukk()

Lag tabellfunksjon

For å legge til en tabell i databasen, kan vi åpne filen for lesing og deretter legge til den spesifiserte tabellen. I dette eksemplet vil vi lage en funksjon som tar rå SQL -kommandoer for å legge til en ny tabell.

Et eksempel er som vist:

func createTable (db *sql.Db)
brukere_table: = 'Opprett tabellbrukere (
id heltall ikke null primær nøkkel autoincrement,
"FirstName" -tekst,
"LastName" -tekst,
"Dept" tekst,
"Lønn" int); '
spørring, feil: = db.Forbered (brukere_table)
Hvis feil != nil
Logg.Fatal (feil)

spørsmål.Exec ()
fmt.Println ("Tabell opprettet med hell!")

I eksemplet over lager vi funksjon som tar en rå SQL -spørring og utfører mot den spesifiserte databasen. Dette vil opprette en databasetabell i SQLite.

Sett inn postfunksjonen

Neste del er å bygge en funksjon som lar oss sette inn poster i tabellen. Et eksempelkode er som vist:

func addusere (db *sql.DB, FirstName String, LastName String, Dept String, Salary int)
poster: = 'sett inn i brukere (FirstName, LastName, Dept, Lønn) verdier (?, ?, ?, ?) '
spørring, feil: = db.Forbered (poster)
Hvis feil != nil
Logg.Fatal (feil)

_, err = spørring.Exec (FirstName, LastName, avd., Lønn)
Hvis feil != nil
Logg.Fatal (feil)

Hente poster funksjon

Den endelige funksjonen vi trenger å lage er en som henter postene som er lagret i databasen, et eksempel er som vist:

Func FetchRecords (DB *SQL.Db)
RECORD, ERR: = DB.Spørring ("Velg * fra brukere")
Hvis feil != nil
Logg.Fatal (feil)

utsett rekord.Lukk()
for rekord.Neste ()
var id int
var FirstName String
var etternavn streng
var avd. Streng
var lønn int
ta opp.Scan (& Id, & FirstName, & LastName, & Dept, & Lønn)
fmt.Printf ("Bruker: %d %s %s %s %d", id, første navn, etternavn, avd., Lønn)

Funksjonen ovenfor bruker markørens iterator for å hente radene fra databasen.

Utfør spørsmål om databasen

Når vi har erklært funksjonene våre, må vi ringe dem for å legge postene i databasen. Vi starter med å åpne databasefilen. Deretter kaller vi CreateTable () og AddUsers () -metodene.

Eksempelkode er som vist:

Database, _: = SQL.Åpne ("Sqlite3", "Databsase.db ")
CreateTable (database)
Addusers (Database, "Ankita", "Maudie", "Game Developer", 140000)
Addusers (Database, "Emiliana", "Alfiya", "Bakend Developer", 120000)
Addusers (Database, "Emmet", "Brian", "DevOps Developer", 110000)
Addusers (Database, "Reidun", "Jorge", "Dtabase Developer", 140000)
Addusers (Database, "Tyrone", "Silvia", "Front-end Developer", 109000)
utsett database.Lukk()
// hente poster:
FetchRecords (database)

Avsnittet over åpner databasen for å lese og sette inn postene ved hjelp av AddUsers () -metoden.

Kompilere og løpe

For å bygge programmet, må du installere GCC -kompilatoren på systemet ditt. Dette kreves av Go-Sqlite3-pakken. Sjekk ressursen nedenfor for å lære hvordan du installerer avhengighetene av systemet ditt.

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

Du kan nå bygge koden som:

Gå Bygg Main.gå

Du kan kjøre programmet som:

./hoved.EXE

Koden skal returnere postene som er lagret i databasen. Et eksempelutgang er som vist:

Konklusjon

Denne guiden diskuterer hvordan du bruker SQLite-databasen i Golang ved hjelp av Go-SQLite3-pakken. Sjekk dokumentene for å lære mer.