Databazat
Për të punuar me MySQL, së pari duhet të shkarkohet drajveri përkatës nga Github:
go get github.com/go-sql-driver/mysql
1 package main
2
3 import (
4 "database/sql"
5 "fmt"
6 _ "github.com/go-sql-driver/mysql"
7 "log"
8 )
9
10 func main() {
11 db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/markdown")
12 defer db.Close()
13 if err != nil {
14 log.Fatal(err)
15 }
16
17 var id int
18 var book_title string
19
20 rows, err := db.Query("SELECT id, book_title FROM books ORDER BY id")
21 for rows.Next() {
22 rows.Scan(&id, &book_title)
23 fmt.Printf("ID: %v, %v\n", id, book_title)
24 }
25 }
https://play.golang.org/p/3l4xo1BS9y_s
Rezultati:
ID: 1, Go për fillestarë
ID: 2, PHP dhe MySQL për fillestarë
ID: 3, Laravel për fillestarë
Leximi i radhëve të tabelës ne përdorimin e struct/tag
1 package main
2
3 import (
4 "database/sql"
5 "fmt"
6 _ "github.com/go-sql-driver/mysql"
7 "log"
8 )
9
10 type Fushat struct {
11 ID int `json:"id"` // Emertimi i fushes ne tabele
12 Titulli string `json:"book_title"` // Emertimi i fushes ne tabele
13 }
14
15 func main() {
16 db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/markdown")
17 defer db.Close()
18 if err != nil {
19 log.Fatal(err)
20 }
21
22 results, err := db.Query("SELECT id, book_title FROM books ORDER by id")
23 if err != nil {
24 panic(err.Error())
25 }
26
27 for results.Next() {
28 var fushat Fushat
29 err = results.Scan(&fushat.ID, &fushat.Titulli)
30 if err != nil {
31 panic(err.Error())
32 }
33 fmt.Printf("%v %v\n", fushat.ID, fushat.Titulli)
34 }
35 }
https://play.golang.org/p/1FMj5NKuGxn
Rezultati:
1 1 Go për fillestarë
2 2 PHP dhe MySQL për fillestarë
3 3 Laravel për fillestarë