Найти в Дзене
Skill Up In IT

Golang and MySQL

MySQL — одна из самых популярных реляционных баз данных. В этой статье мы рассмотрим, как начать программировать на Go и интегрировать его с MySQL для создания полноценных приложений. Работа с MySQL в Go Установите MySQL на ваш компьютер. Для этого следуйте инструкциям на официальном сайте. Создайте базу данных и таблицу для примера: sql: CREATE DATABASE go_db; USE go_db; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); Для работы с MySQL в Go используется драйвер go-sql-driver/mysql. Установите его: bash: go get -u github.com/go-sql-driver/mysql Создайте файл main.go и подключитесь к базе данных: go: package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { // Подключение к базе данных db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/go_db") if err != nil { panic(err) } defer db.Close() // Проверка подключения err = db
Оглавление

MySQL — одна из самых популярных реляционных баз данных. В этой статье мы рассмотрим, как начать программировать на Go и интегрировать его с MySQL для создания полноценных приложений.

Преимущества MySQL:

  • Надежность: MySQL — это проверенная временем база данных с высокой стабильностью.
  • Простота использования: Легко устанавливается и настраивается.
  • Широкая поддержка: MySQL поддерживается большинством языков программирования и фреймворков.
  • Масштабируемость: Подходит как для небольших проектов, так и для крупных приложений.

Работа с MySQL в Go

Установка MySQL

Установите MySQL на ваш компьютер. Для этого следуйте инструкциям на официальном сайте.

Создайте базу данных и таблицу для примера:

sql:

CREATE DATABASE go_db;
USE go_db;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
);

Установка драйвера MySQL для Go

Для работы с MySQL в Go используется драйвер go-sql-driver/mysql. Установите его:

bash:

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

Подключение к MySQL

Создайте файл main.go и подключитесь к базе данных:

go:

package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// Подключение к базе данных
db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/go_db")
if err != nil {
panic(err)
}
defer db.Close()
// Проверка подключения
err = db.Ping()
if err != nil {
panic(err)
}
fmt.Println("Successfully connected to MySQL!")
}

Замените username и password на ваши учетные данные MySQL.

Выполнение запросов

Вставка данных

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

go:

func insertUser(db *sql.DB, name string, email string) {
query := "INSERT INTO users (name, email) VALUES (?, ?)"
result, err := db.Exec(query, name, email)
if err != nil {
panic(err)
}
id, _ := result.LastInsertId()
fmt.Printf("Inserted user with ID: %d\n", id)
}

Чтение данных

Получите данные из таблицы users:

go:

func getUsers(db *sql.DB) {
rows, err := db.Query("SELECT id, name, email FROM users")
if err != nil {
panic(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name, email string
err = rows.Scan(&id, &name, &email)
if err != nil {
panic(err)
}
fmt.Printf("ID: %d, Name: %s, Email: %s\n", id, name, email)
}
}

Обновление данных

Обновите запись в таблице users:

go:

func updateUser(db *sql.DB, id int, newName string) {
query := "UPDATE users SET name = ? WHERE id = ?"
_, err := db.Exec(query, newName, id)
if err != nil {
panic(err)
}
fmt.Println("User updated successfully!")
}

Удаление данных

Удалите запись из таблицы users:

go:

func deleteUser(db *sql.DB, id int) {
query := "DELETE FROM users WHERE id = ?"
_, err := db.Exec(query, id)
if err != nil {
panic(err)
}
fmt.Println("User deleted successfully!")
}

Пример использования

Используйте функции в main:

go:

func main() {
db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/go_db")
if err != nil {
panic(err)
}
defer db.Close()
insertUser(db, "John Doe", "john@example.com")
getUsers(db)
updateUser(db, 1, "Jane Doe")
deleteUser(db, 1)
}

Заключение

Go и MySQL — это мощная комбинация для создания современных приложений. Начните с основ Go, изучите работу с базой данных и постепенно углубляйте свои знания. Используйте примеры из этой статьи, чтобы создать свое первое приложение с использованием Go и MySQL. Удачи в обучении!