SQL-tietokannat tallentavat tietokokoelmia riveihin ja sarakkeisiin. Voit hakea ja päivittää tiedot relaatiotietokannan hallintajärjestelmässä (RDBMS) SQL-kielellä. Monista saatavilla olevista SQL-tietokannoista suosituimmat ovat MySQL, PostgreSQL, Microsoft SQL Server ja SQLite.

Toiminnallisuus tietokantojen kanssa vuorovaikutukseen Gossa on tietokanta/sql-paketissa, joka on osa vakiokirjastoa.

Tietokanta/sql-paketti on vuorovaikutuksessa SQL-tietokantojen kanssa ohjaimien avulla. Voit tuoda sopivan ohjainpaketin RDBMS-järjestelmääsi ja käyttää sitä vuorovaikutuksessa tietokannan kanssa.

SQL-tietokantojen käytön aloittaminen Gossa

Tietokanta/sql-paketti on yleinen käyttöliittymä relaatiotietokantoihin. Jos haluat työskennellä tietyn tietokantapalvelimen kanssa, sinun on käytettävä yhtä monista käytettävissä olevista ohjaimista.

Onneksi sinun ei tarvitse huolehtia ajurin ulkopuolisista erityisistä toteutuksista. Tietokanta/sql-paketti käsittelee tietokantatoiminnot riippumatta palvelimesta, johon muodostat yhteyden.

instagram viewer

Jotkut suosituimmista Go-tietokanta-ajureista ovat:

  • Go-SQL-ohjain (MySQL)
  • PQ (PostgreSQL)
  • Go-SQLite3 (SQLite)
  • MSSQL DB (Microsoft SQL Server)

Voit käyttää LibHunt-ajuriluettelo löytää vastaavia muut tietokantatyypit. Luettelo näyttää myös kunkin tietokantajärjestelmän suhteellisen suosion:

Go-tietokanta-ajurien asentaminen ja tuonti

Kun olet luonut Go-työtilan ja alustanut Go modules -tiedoston, asenna tietokantajärjestelmääsi vastaava ohjain. Asenna MySQL- tai SQLite-ohjain esimerkiksi suorittamalla jokin seuraavista komennoista työtilahakemistossasi:

go get -u github.com/go-sql-driver/mysql
mene osoitteeseen github.com/mattn/go-sqlite3

Kun olet asentanut ohjaimen, tuo se sivuvaikutuksia varten lisäämällä alaviiva ennen pakettia. Esimerkiksi MySQL-ohjaimen tuominen tietokanta/sql-paketin rinnalle:

tuonti (
"tietokanta/sql"
_ "github.com/mennä-sql-ohjain/mysql"
)

Tuomalla ohjainpaketin sivuvaikutuksia varten voit käyttää sitä yhteyden muodostamiseen tietokantaan ja toimintojen suorittamiseen siinä.

Yhteyden muodostaminen SQL-tietokantaan Golla

Kun olet tuonut tietokanta-ohjaimet, voit luoda tietokantayhteyden käyttämällä Avata menetelmä tietokanta/sql paketti. Tämä menetelmä ottaa ohjaimen nimen ja polun tietokantaan (SQLite) tai yhteysmerkkijonoon (MySQL). Käytä esimerkiksi jompaakumpaa seuraavista:

db, err := sql. Open("sqlite3", "models/testdb.db") // SQLite

db, err := sql. Open("mysql", "käyttäjä: salasana@/dbname") // MySQL

Kun olet yrittänyt avata yhteyden, muista tarkistaa virheen varalta:

jos virhe! = nolla {
Hirsi. Fatalln (err)
}

Tietokantajärjestelmästäsi riippuen, Avata menetelmä saattaa palauttaa virheilmoituksen, jos tietokantaa ei ole olemassa. Kun olet muodostanut yhteyden tietokantaan, voit suorittaa kyselyitä ja valmistella lausekkeita käyttämällä tietokanta-instanssia Avata palaa.

SQL-komentojen suorittaminen

Sinä pystyt suorittaa SQL-komentoja käyttämällä Valmistella tietokannan ilmentymän menetelmä. The Valmistella menetelmä ottaa vastaan ​​SQL-komennon ja palauttaa valmistetun käskyn suorittamista varten virheobjektin rinnalla. Jos esimerkiksi haluat luoda uuden taulukon:

komento, err := db. Prepare("LUO TAULUKO, JOS EI OLE OLEMASSA kirjautumistunnusta (käyttäjätunnus TEKSTI, salasana TEKSTI)")

Yllä oleva lauseke luo taulukon nimeltä Kirjaudu sisään, jos sitä ei jo ole. Uudessa taulukossa on kentät nimeltä käyttäjätunnus ja Salasana, jokaista tyyppiä TEKSTI.

Jos lisäät arvoja ohjelmastasi kyselyihisi, voit käyttää kysymysmerkkiä (?) merkitsemään paikkamerkit ja välittää parametrit käskyn suorittamisen yhteydessä.

komento, err := db. Prepare("INSERT INTO kirjautumistunnus (käyttäjänimi, salasana) arvot(?,?)")

Kun olet luonut valmistetun lausunnon, voit suorittaa sen käyttämällä sitä Exec menetelmä. Tällä menetelmällä voit välittää parametriarvot ohjelmastasi:

exec, err := komento. Exec (arvo1, arvo2)

jos virhe! = nolla {
palata
}

Ensimmäinen arvo, joka Suorita() palauttaa on tulos tietokannassasi olevasta SQL-kyselystä. Tämän kyselyn tuloksen avulla voit tarkistaa vaikuttaneiden rivien määrän tai viimeksi lisätyn tunnuksen:

vaikuttaa, err := exec. RivitAffected()

jos virhe! = nolla {
palata
}

fmt. Println (vaikutettu)

id, err := exec. LastInsertId()

jos virhe! = nolla {
palata
}

fmt. Println (id)

Haetaan kyselyn tuloksia

Tietokanta/sql-paketin avulla voit hakea tietokannan tuloksia käyttämällä Kysely tietokannan esiintymän menetelmä:

riviä, err := db. Query("SELECT * FROM käyttäjältä")

jos virhe! = nolla {
palata
}

The Kysely menetelmä palauttaa a Rivit rakenne, jonka avulla voit työskennellä tulosjoukon kanssa. Voit käyttää esimerkiksi Seuraava riviesimerkkisi menetelmää iteroidaksesi sen yli ja työskennelläksesi yksittäisten rivien kanssa:

var Käyttäjänimi Salasana merkkijono

varten rivit. Seuraava() {
err := riviä. Skannaa (&käyttäjänimi, &salasana)

jos virhe! = nolla {
Hirsi. Fatalln (err)
}

fmt. Println (käyttäjätunnus, salasana)
}

Yllä olevassa esimerkissä kaksi merkkijonomuuttujaa -käyttäjätunnus ja Salasana— edustaa kunkin sarakkeen arvoa. The Skannata menetelmä purkaa nykyisen rivin vastaaviksi muuttujiksi.

SQL-tietokannat ovat aina hyödyllisiä

Tietokantojen käyttäminen Gossa on yksinkertaista tietokanta/sql-paketin kanssa. Voit käyttää sitä SQL-komentojen kyselyyn ja suorittamiseen Goissa helposti.

SQL-tietokannat ovat monien sovellusten ytimessä, erityisesti niissä, jotka käsittelevät suuria tai monimutkaisia ​​tietojoukkoja. Voit käyttää tietokantoja, kuten muistissa olevaa SQLite-tietokantaa, yksinkertaisissa projekteissasi, kuten web-kaappauksessa ja robottien rakentamisessa.

Asianmukainen SQL- ja tietokannanhallintajärjestelmien tuntemus on välttämätöntä, jotta voit käyttää niitä tehokkaasti ohjelmissasi. Jos kuitenkin et halua oppia SQL: ää, voit oppia käyttämään ORM: ita vuorovaikutuksessa SQL-tietokantojen kanssa Gossa.