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

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

от kaci , в категории: Вопросы от знатоков , 3 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

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

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

@kaci Вы можете использовать драйвер mysql для golang и посмотрите ниже пример как можно подключить 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
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", "username", "password", "host", "database_name")
   db, err := sql.Open("mysql", dsn)
   if err != nil {
      panic(err)
   }

   defer db.Close()

   var username string

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

   defer stmtOut.Close()

   // WHERE id = 1
   err = stmtOut.QueryRow(1).Scan(&username)
   if err != nil {
      panic(err.Error())
   }
   
   fmt.Printf("Username для user с id 1: %s", username)
}


Чтобы установить библиотеку запустите также:

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


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

от emery.sanford , год назад

@kaci 

Выше приведен пример кода, который показывает, как подключиться к базе данных MySQL с использованием драйвера github.com/go-sql-driver/mysql в Go.


В начале файла необходимо импортировать необходимые пакеты: database/sql и github.com/go-sql-driver/mysql.


Далее, в функции init, мы регистрируем драйвер MySQL с помощью sql.Register(). Это позволяет нам использовать строку соединения "mysql" в sql.Open() для создания подключения к базе данных MySQL.


Затем, в функции main(), мы создаем строку DSN (Data Source Name), которая содержит информацию о пользователе, пароле, хосте и имени базы данных. Затем мы открываем соединение с базой данных с помощью sql.Open(). Если возникает ошибка, мы вызываем panic().


Затем, после проверки соединения с базой данных, мы выполняем простой запрос SELECT с помощью db.Prepare() и stmtOut.QueryRow(). Мы используем Scan() для сканирования значения результатов запроса в переменную username. Если возникает ошибка при выполнении запроса или сканировании результата, мы также вызываем panic().


Наконец, мы выводим значение username в консоль.


Обратите внимание, что вам необходимо заменить "username", "password", "host" и "database_name" на соответствующие значения для вашей базы данных.


Перед запуском кода, убедитесь, что у вас установлен драйвер MySQL, выполнив команду go get -u github.com/go-sql-driver/mysql.