Go и MySQL: Подключение к базе данных

Установка и подключение драйвера MySQL

Для работы с MySQL в Go необходимо установить соответствующий драйвер. Установите его, выполнив команду (см. ссылку в описании) в терминале.

Затем импортируйте драйвер в проект:

import (
t"database/sql"
t"fmt"
t_ "github.com/go-sql-driver/mysql" // импорт драйвера MySQL
)

Создание базы данных и таблицы

Создайте базу данных (например, «golang» с кодировкой UTF-8) и таблицу users (например, с помощью phpMyAdmin — см. ссылки на MAMP/Open Server в описании) со следующими полями:

  • id (INT, AUTO_INCREMENT, PRIMARY KEY, UNSIGNED) – уникальный идентификатор записи.
  • name (VARCHAR(50), кодировка UTF-8) – имя пользователя.
  • age (INT(5)) – возраст пользователя.

Подключение к базе данных и выполнение SQL-запросов

Создайте подключение к базе данных:

db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3308)/golang")
if err != nil {
tpanic(err)
}
defer db.Close()
fmt.Println("Подключено к MySQL")

Замените root:root@tcp(127.0.0.1:3308)/golang на ваши учетные данные и имя базы данных. Например, для Open Server это может быть root:<ваш_пароль>@tcp(127.0.0.1:3306)/golang.

Добавьте запись в таблицу users:

insert, err := db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "Alex", 25)
if err != nil {
tpanic(err)
}
defer insert.Close()

Выборка данных

Создайте структуру User:

type User struct {
tName string `json:"name"`
tAge  uint16 `json:"age"`
}

Выполните запрос и обработайте результаты:

rows, err := db.Query("SELECT name, age FROM users")
if err != nil {
tpanic(err)
}
defer rows.Close()

for rows.Next() {
tvar user User
terr := rows.Scan(&user.Name, &user.Age)
tif err != nil {
ttpanic(err)
t}
tfmt.Printf("User: %s, age: %d\n", user.Name, user.Age)
}

В этом уроке показано подключение к MySQL в Go и выполнение базовых операций (вставка и выборка данных). Для более сложных операций изучите дополнительные возможности SQL.

Что будем искать? Например,программа