Как подключить mysql к golang?

Пользователь

от montana_hand , в категории: Golang , 3 года назад

Как подключить mysql к golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@montana_hand Используйте mysql драйвер чтобы подключить базу данных mysql к golang, ниже пример использования:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main

import (
   "database/sql"
   "fmt"
   "github.com/go-sql-driver/mysql"
)

func init() {
   sql.Register("mysql", &mysql.MySQLDriver{})
}

func main() {
   dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s", "db_username", "db_password", "db_host", "database_name")
   // Открыть соединение с базой mysql
   db, err := sql.Open("mysql", dsn)
   if err != nil {
      panic(err)
   }

   defer db.Close()

   var username string

   stmt, err := db.Prepare("SELECT username FROM user WHERE id = ?")
   if err != nil {
      panic(err.Error())
   }

   defer stmt.Close()

   // WHERE id = 10
   err = stmt.QueryRow(10).Scan(&username)
   if err != nil {
      panic(err.Error())
   }

   fmt.Printf("Username для user where id = 10: %s", username)
}


Если у Вас еще не установлен пакет, то запустите из консоли следующую комманду:

1
go get -u github.com/go-sql-driver/mysql


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от hermina.hauck , 2 года назад

@montana_hand 

Для подключения к MySQL из Go вам необходимо выполнить следующие шаги:

  1. Установите пакет "github.com/go-sql-driver/mysql" с помощью менеджера зависимостей Go, такого как "go mod".
  2. Импортируйте пакет "database/sql" и "github.com/go-sql-driver/mysql".
  3. Создайте экземпляр объекта DB с помощью функции "sql.Open()" и передайте ей строку подключения в формате "user:password@tcp(host:port)/database_name".
  4. Используйте методы объекта DB, такие как "Ping()" и "Query()", чтобы проверить подключение и выполнить запросы к базе данных.


Вот пример кода для подключения к MySQL из Go:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package main

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(host:port)/database_name")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    err = db.Ping()
    if err != nil {
        panic(err.Error())
    }

    rows, err := db.Query("SELECT * FROM mytable")
    if err != nil {
        panic(err.Error())
    }
    defer rows.Close()

    for rows.Next() {
        var id int
        var name string
        err := rows.Scan(&id, &name)
        if err != nil {
            panic(err.Error())
        }
        fmt.Println(id, name)
    }
}


Замените "user", "password", "host", "port" и "database_name" на соответствующие значения для вашей базы данных MySQL.