Установка и подключение драйвера 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.