Golang SQLite näited

Golang Sqlite Naited



Golang on avatud lähtekoodiga programmeerimiskeel. See toetab erinevat tüüpi andmebaasitööriistu. SQLite on populaarne relatsiooniline andmebaasimootor ja Golangil on andmebaasi/SQL-i pakett, mida saab kasutada SQLite'i andmebaasiga ühenduse loomiseks ja erinevat tüüpi andmebaasiülesannete täitmiseks. Kuvatakse SQLite'i andmebaasiga ühenduse loomise ja erinevat tüüpi andmebaasitoimingute sooritamise viis, nagu tabeli loomine, kirjete tabelisse sisestamine, tabelist andmete lugemine, tabeli andmete värskendamine ja kirjete tabelist kustutamine. selles õpetuses, kasutades Golangi skripti.

Eeltingimused:

Enne selle õpetuse näidete harjutamist peate täitma järgmised ülesanded:

V. Installige Golangi keel süsteemi, kui seda pole varem installitud. Golangi installitud versiooni kontrollimiseks käivitage järgmine käsk:







$ go versioon



B. Installige sqlite3 süsteemi, kui seda pole varem installitud. Sqlite3 on vaikimisi installitud Ubuntu 20+. Käivitage sqlite3 installitud versiooni kontrollimiseks järgmine käsk:



$ sqlite3 --versioon





C. Käivitage järgmised käsud, et luua kaust nimega 'golang-sqlite' ja minge sellesse kausta, kuhu salvestatakse SQLite'i andmebaasifail ja Golangi fail:

$ mkdir golang-sqlite
$ cd golang-sqlite

D. Käivitage järgmine käsk, et alla laadida vajalik Golangi pakett, et kasutada SQLite'i koos Golangiga:



$ go hankige github.com/mattn/go-sqlite3

Andmebaasitoimingud Golangi ja SQLite'i abil

Selles õpetuses on näidatud põhilised andmebaasitoimingud, mis kasutavad SQLite andmebaasi ja Golangi skripti. Selles õpetuses käsitletud andmebaasiülesannete loendit mainitakse järgmises.

  1. Looge SQLite'i andmebaas
  2. Looge SQLite'i andmebaasiühendus
  3. Looge uus tabel
  4. Sisestage andmed tabelisse
  5. Lugege andmeid tabelist
  6. Värskendage tabeli andmeid
  7. Kustutage andmed tabelist

Looge Golangi abil SQLite'i andmebaas

Looge järgmise skriptiga Golangi fail, mis loob uue SQLite'i andmebaasifaili nimega 'test.db'. Skripti imporditakse neli moodulit. 'Fmt' moodulit kasutatakse terminalis väljundi printimiseks. 'Logi' moodulit kasutatakse programmi katkestamiseks, kui ilmneb mõni tõrge. Moodulit 'os' kasutatakse SQLite'i andmebaasi loomiseks ja vea käsitlemiseks. Moodulit 'go-sqlite3' kasutatakse SQLite'i andmebaasiga ühenduste loomiseks Golangi kaudu. Siin kasutatakse SQLite'i andmebaasi loomiseks mooduli 'os' meetodit Create(). Kui andmebaas on edukalt loodud, prinditakse terminalis eduteade. Vastasel juhul programm lõpetatakse. Close() meetod kutsutakse andmebaasiühenduse sulgemiseks.

pakett peamine

//Importige vajalikud moodulid
importida (
'fmt'
'logi'
'sina'
_ 'github.com/mattn/go-sqlite3'
)

func peamine () {

//Uue SQLite'i andmebaasi loomine
db , eks := sina . Loo ( 'test.db' )
//Kontrollige vigu
kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
//Prindige eduteade
fmt . Println ( 'Andmebaas on loodud.' )
}
//Sulgege andmebaasiühendus
db . Sulge ()
}

Faili „db_connect.go” käivitamiseks käivitage järgmine käsk:

$ go käivitage db_connect.go

Käivitage käsk 'ls', et kontrollida, kas andmebaasi fail 'test.db' on loodud või mitte:

$ ls

Järgmine väljund näitab, et väljundisse prinditakse eduteade 'Andmebaas on loodud' ja fail 'test.db' luuakse praeguses asukohas:

Looge Golangi abil ühendus SQLite'i andmebaasiga

Looge Golangi fail järgmise skriptiga, mis avab andmebaasi faili 'test.db' ja loo andmebaasiga ühendus. Selle ülesande täitmiseks imporditakse siia Golangi andmebaas/SQL-moodul. Open() meetodit kasutatakse siin ühenduse loomiseks olemasoleva SQLite'i andmebaasiga. Kui andmebaas on edukalt ühendatud, prinditakse terminali eduteade. Vastasel juhul programm lõpetatakse.

pakett peamine

//Importige vajalikud moodulid
importida (
'fmt'
'logi'
'andmebaas/sql'
_ 'github.com/mattn/go-sqlite3'
)

func peamine () {

//Uue SQLite'i andmebaasi loomine
db , eks := sql . Avatud ( 'sqlite3' , 'test.db' )
//Kontrollige vigu
kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
//Prindige eduteade
fmt . Println ( 'Andmebaas on ühendatud edukalt.' )
}
//Sulgege andmebaasiühendus
db . Sulge ()
}

Käivitage järgmine käsk faili „db_connect2.go” käivitamiseks:

$ go käivitage db_connect2.go

Järgmine väljund näitab, et andmebaasi fail 'test.db' on avatud ja ühendatud edukalt. Väljundis trükitakse eduteade 'Andmebaas on ühendatud edukalt'.

Looge Golangi abil tabel SQLite'i andmebaasis

Looge Golangi fail järgmise skriptiga, mis loob andmebaasifaili 'test.db' sees andmebaasitabeli nimega 'liikmed'. Meetodit Exec() kasutatakse siin päringu CREATE TABLE käivitamiseks, mis loob kuue välja ja primaarvõtmega tabeli 'liikmed'. Kui tabel on andmebaasis edukalt loodud, prinditakse eduteade. Vastasel juhul programm lõpetatakse.

pakett peamine

//Importige vajalikud moodulid
importida (
'fmt'
'logi'
'andmebaas/sql'
_ 'github.com/mattn/go-sqlite3'
)

func peamine () {

//Looge uus sqlite andmebaas
db , eks := sql . Avatud ( 'sqlite3' , 'test.db' )
//Kontrollige vigu
kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
konst päring string = `
LOO TABEL, KUI POLE OLEMAS liikmeid (
id INTEGER NOT NULL PRIMARY KEY,
nimi CHAR(40) NOT NULL,
mtype CHAR(100) NOT NULL,
email CHAR(50),
aadress TEXT NOT NULL,
mobiili CHAR(25) NOT NULL);”.

_ , eks := db . Exec ( päring );

kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
//Prindige eduteade
fmt . Println ( 'Tabel on edukalt loodud.' )
}

}
//Sulgege andmebaasiühendus
db . Sulge ()
}

Käivitage järgmine käsk faili 'create_table.go' käivitamiseks:

$ go käivitada create_table.go

Järgmine väljund näitab, et tabel on andmebaasis edukalt loodud. Eduteade 'Tabel on loodud edukalt' trükitakse terminali:

Saate SQLite'i sisse logida, et kontrollida, kas tabel on andmebaasis loodud või mitte.

SQLite'i käivitamiseks andmebaasiga 'test.db' käivitage järgmine käsk:

$ sqlite3 test.db

Andmebaasi tabelinimede kontrollimiseks käivitage SQLite käsurealt käsk '.tables' SQLite:

sqlite3 > .tables

Järgmine väljund näitab, et andmebaas sisaldab 'liikmete' tabelit, mis luuakse Golangi skripti käivitamisel:

Sisestage kirjed Golangi abil SQLite'i tabelisse

Tabelisse saab sisestada mitu kirjet, käivitades INSERT-päringu mitu korda või lisades ühte INSERT-päringusse mitu väärtust. Looge järgmise skriptiga Golangi fail, mis lisab ühe INSERT-päringu abil kolm kirjet 'test.db' andmebaasifaili 'liikmete' tabelisse. Siin kasutatakse INSERT-päringu täitmiseks meetodit Exec(). Kui kirjed on tabelisse edukalt sisestatud, prinditakse eduteade. Vastasel juhul programm lõpetatakse.

pakett peamine

//Importige vajalikud moodulid
importida (
'fmt'
'logi'
'andmebaas/sql'
_ 'github.com/mattn/go-sqlite3'
)

func peamine () {

//Uue SQLite'i andmebaasi loomine
db , eks := sql . Avatud ( 'sqlite3' , 'test.db' )
//Kontrollige vigu
kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
konst päring string = `
INSERT INTO liikmed (id, nimi, mtype, e-post, aadress, mobiil)
VALUES(1, 'Nehal Ahmed', 'Hõbe', 'nehal@gmail.com','36, Dhanmondi 2, Dhaka','01844657342'),
(2, 'Abir Chowdhury', 'Gold', 'abir@gmail.com', '102, Mirpur 10, Dhaka', '01994563423'),
(3, 'Mirza Abbas', 'Silver', 'abbas@gmail.com','12, Jigatala, Dhaka','01640006710');`


//Käivita päring
_ , eks := db . Exec ( päring );

kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
//Prindige eduteade
fmt . Println ( 'Kirjed sisestati edukalt.' )
}
}

//Sulgege andmebaasiühendus
db . Sulge ()
}

Faili 'insert_table.go' käivitamiseks käivitage järgmine käsk:

$ go käivitada insert_table.go

Järgmine väljund näitab, et kirjed on tabelisse edukalt sisestatud. Väljundisse prinditakse eduteade 'Kirjed on edukalt sisestatud'.

Saate SQLite'i sisse logida, et kontrollida, kas kolm kirjet on tabelisse 'liikmed' edukalt sisestatud või mitte.

SQLite'i käivitamiseks andmebaasiga 'test.db' käivitage järgmine käsk:

$ sqlite3 test.db

Käivitage järgmine SELECT päring, et lugeda kogu 'liikmete' tabeli sisu:

sqlite3 > VALI * liikmetelt ;

Järgmine väljund näitab, et tabel 'liikmed' sisaldab kolme kirjet, mis on sisestatud Golangi skripti abil:

Lugege Golangi abil SQLite tabeli andmeid

Looge Golangi fail järgmise skriptiga, mis loeb 'liikmete' tabeli kirjeid. Peate määratlema Golangis muutujad, et salvestada SELECT päringust tagastatud väärtused. Selles skriptis tuuakse SELECT-päringu abil tabelist „liikmed” viis välja. Seega on skriptis defineeritud viis muutujat, et salvestada tabeli “liikmed” viie välja väärtused, kus välja “mtype” väärtus on “Silver”. Query() meetodit kasutatakse siin päringu SELECT täitmiseks. Järgmisena kasutatakse tsüklit „for” SELECT-päringu poolt tagastatud tulemuskomplekti lugemiseks. Funktsiooni printf() kasutatakse tulemuskomplekti vormindatud väärtuste printimiseks.

pakett peamine

//Importige vajalikud moodulid
importida (
'fmt'
'logi'
'andmebaas/sql'
_ 'github.com/mattn/go-sqlite3'
)

func peamine () {

//Uue SQLite'i andmebaasi loomine
db , eks := sql . Avatud ( 'sqlite3' , 'test.db' )

//Kontrollige vigu
kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {

//Rea väärtuste salvestamiseks deklareerige muutujad
oli id int
oli nimi string
oli mtüüp string
oli aadress string
oli mobiilne string
konst päring string = `VALI ID, nimi, mtüüp, aadress, mobiil
liikmetelt
WHERE mtype = 'Hõbedane';`


//Käivita päring
read , eks := db . Päring ( päring );

kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {

//Prindige eduteade
fmt . Println ( 'Kõigi hõbeliikmete rekordid:' )
fmt . Println ( 'ID \t Nimi \t \t Liikme tüüp \t Aadress \t \t Kontakt nr' )
jaoks read . Edasi () {
read . Skaneeri ( &id , &nimi , &mtype , &aadress , &mobiil )
fmt . Printf ( '%d \t %s \t %s \t %s \t %s \n ' , id , nimi , mtüüp , aadress , mobiilne )
}
}
}
//Sulgege andmebaasiühendus
db . Sulge ()
}

Faili „select_table.go” käivitamiseks käivitage järgmine käsk:

$ go käivitada select_table.go

Tabelis 'liikmed' on kaks kirjet, mille väljal 'mtype' on 'Silver'. Järgmises väljundis kuvatakse kaks tabeli „liikmed” kirjet, mille SELECT päring tagastab:

Värskendage Golangi abil SQLite tabeli andmeid

Loo Golangi fail järgmise skriptiga, mis muudab tabeli “members” mobiilivälja väärtust, mis sisaldab id-väärtust 2. Siin kasutatakse UPDATE päringu täitmiseks meetodit Exec(). Kui kirje värskendamine tabelis õnnestus, prinditakse eduteade. Vastasel juhul programm lõpetatakse.

pakett peamine

//Importige vajalikud moodulid
importida (
'fmt'
'logi'
'andmebaas/sql'
_ 'github.com/mattn/go-sqlite3'
)

func peamine () {

//Uue SQLite'i andmebaasi loomine
db , eks := sql . Avatud ( 'sqlite3' , 'test.db' )
//Kontrollige vigu
kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
konst päring string = `
UPDATE liikmed SET mobile = '018563452390' WHERE id = 2;`

_ , eks := db . Exec ( päring );

kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
//Prindige eduteade
fmt . Println ( 'Kirje värskendamine õnnestus.' )
}
}
//Sulgege andmebaasiühendus
db . Sulge ()
}

Käivitage järgmine käsk faili „update_table.go” käivitamiseks:

$ go käivitada update_table.go

Tabeli “liikmed” teine ​​rida sisaldab id väärtust 2. Järgmine väljund näitab, et tabeli kirje on edukalt värskendatud. Eduteade „Kirje värskendamine õnnestus“ prinditakse terminali:

Saate SQLite'i sisse logida, et kontrollida, kas liikmete tabeli kirjeid on värskendatud või mitte.

SQLite'i käivitamiseks andmebaasiga 'test.db' käivitage järgmine käsk:

$ sqlite3 test.db

Käivitage järgmine SELECT päring, et lugeda kogu 'liikmete' tabeli sisu:

sqlite3 > VALI * liikmetelt ;

Mobiilivälja väärtus 2 nd liikmete tabeli kirje on enne skripti käivitamist '01994563423'. Järgmine väljund näitab, et mobiilivälja väärtus 2 nd liikmete tabeli kirje muudetakse pärast skripti täitmist '018563452390'-ks:

Kustutage Golangi abil SQLite tabeli andmed

Looge Golangi fail järgmise skriptiga, mis kustutab 3 rd tabeli 'liikmed' kirje, mis sisaldab ID-väärtust 3. Siin kasutatakse meetodit Exec() päringu DELETE täitmiseks. Kui kirje on tabelist edukalt kustutatud, prinditakse õnnestumisteade. Vastasel juhul programm lõpetatakse.

pakett peamine

//Importige vajalikud moodulid
importida (
'fmt'
'logi'
'andmebaas/sql'
_ 'github.com/mattn/go-sqlite3'
)

func peamine () {

//Uue SQLite'i andmebaasi loomine
db , eks := sql . Avatud ( 'sqlite3' , 'test.db' )
//Kontrollige vigu
kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
//Määrake kustutamispäring
konst päring string = `DELETE FROM liikmetest WHERE id = 3;`
//Käivita päring
_ , eks := db . Exec ( päring );

kui eks != null {
//Lisa veateade logisse
logi . Tappev ( eks )
} muidu {
//Prindige eduteade
fmt . Println ( 'Kirje kustutamine õnnestus.' )
}
}
//Sulgege andmebaasiühendus
db . Sulge ()
}

Käivitage järgmine käsk faili 'delete_table.go' käivitamiseks:

$ go käivitage delete_table.go

Järgmine väljund näitab, et 3 rd tabeli 'liikmed' kirje kustutati edukalt. Eduteade 'Kirje kustutati edukalt' prinditakse terminali:

Saate SQLite'i sisse logida, et kontrollida, kas liikmete tabeli mõni kirje on kustutatud või mitte.

SQLite'i käivitamiseks andmebaasiga 'test.db' käivitage järgmine käsk:

$ sqlite3 test.db

Käivitage järgmine SELECT päring, et lugeda kogu 'liikmete' tabeli sisu:

sqlite3 > VALI * liikmetelt ;

Järgmine väljund näitab, et 3 rd liikmete tabeli kirje kustutatakse pärast skripti täitmist ja ülejäänud kaks kirjet prinditakse väljundisse:

Järeldus

Nii SQLite kui ka Golang on nüüd populaarsed oma lihtsuse ja kergete funktsioonide tõttu. Nende tööriistade abil saab hõlpsasti rakendada mis tahes lihtsat andmebaasipõhist rakendust. Mis tahes rakenduse põhiosa on CRUD-i operatsiooni rakendamine. Selles õpetuses selgitatakse CRUD-i operatsioonide rakendamise meetodeid Golangi skripti ja SQLite'i andmebaasi kasutades, kasutades mitut Golangi faili. Kui olete Go keele ja SQLite andmebaasi uus õppija, aitab see õpetus teil neid põhitõdesid õppida.