[go] Go 언어에서 MySQL 데이터베이스에 연동하는 방법

Go (또는 Golang)는 많은 기업에서 스케일러블하고 효율적인 동시성을 지원하는 프로그래밍 언어로 인기를 얻고 있습니다. 이번 블로그에서는 Go 언어에서 MySQL 데이터베이스와 연동하는 방법을 알아보겠습니다.

필요한 패키지 설치하기

Go 언어에서 MySQL과 연동하려면 database/sqlgithub.com/go-sql-driver/mysql 패키지가 필요합니다.

먼저 다음과 같이 명령어를 사용하여 패키지를 설치합니다.

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

데이터베이스 연결하기

이제 Go 코드에서 MySQL 데이터베이스에 연결해보겠습니다. 아래는 간단한 연결 코드예시입니다.

import (
	"database/sql"
	"fmt"

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

func main() {
	// MySQL 데이터베이스 연결 문자열
	db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
	if err != nil {
		panic(err.Error())
	}
	defer db.Close()
	fmt.Println("Successfully connected to the database")
}

위 코드에서 sql.Open() 함수를 사용하여 MySQL 데이터베이스에 연결합니다. 연결 문자열에는 사용자 이름, 비밀번호, 호스트 및 데이터베이스 이름이 포함되어 있습니다.

데이터 쿼리 및 처리

데이터베이스에 연결된 후, 데이터를 쿼리하고 처리할 수 있습니다. 아래는 간단한 쿼리 및 결과 처리 코드 예시입니다.

// 쿼리 실행
rows, err := db.Query("SELECT name, age FROM users WHERE age > ?", 18)
if err != nil {
    panic(err.Error())
}
defer rows.Close()

// 결과 처리
for rows.Next() {
    var name string
    var age int
    err = rows.Scan(&name, &age)
    if err != nil {
        panic(err.Error())
    }
    fmt.Println(name, age)
}

위 코드는 db.Query() 함수를 사용하여 데이터베이스에서 데이터를 가져온 후, rows.Scan() 함수를 사용하여 데이터를 읽습니다.

마무리

Go 언어에서 MySQL 데이터베이스와의 연동은 간단하고 효율적입니다. 이를 통해 안정적인 데이터베이스 연동 및 데이터 처리가 가능하며, 동시성 및 성능 측면에서도 매우 우수한 성능을 보여줍니다.

위 예시 코드를 활용하여 여러분도 손쉽게 Go 언어에서 MySQL과의 연동을 시작할 수 있습니다.