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

Go 언어는 강력한 표준 라이브러리와 쉬운 문법으로 데이터베이스에 연결하고 쿼리를 실행하는 것이 매우 간단합니다. Go에서 데이터베이스에 연결하고 데이터를 가져오는 방법을 살펴보겠습니다.

MySQL 데이터베이스에 연결하기

데이터베이스 드라이버 설치

먼저 Go에서 MySQL 데이터베이스에 연결하기 위해 MySQL 드라이버를 설치해야 합니다. Go의 표준 라이브러리에는 MySQL 드라이버가 내장되어 있지 않기 때문에 외부 라이브러리를 사용해야 합니다. Go-MySQL-Driver를 사용하는 것이 일반적입니다. 아래와 같이 명령어를 사용하여 드라이버를 설치할 수 있습니다.

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

데이터베이스에 연결하기

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

package main

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

func main() {
    // 데이터베이스 연결
    db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/dbname")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    // 연결 테스트
    err = db.Ping()
    if err != nil {
        panic(err.Error())
    }
}

위의 코드에서 username, password, localhost, 3306, dbname은 각각 사용자 이름, 비밀번호, 호스트, 포트, 데이터베이스 이름에 해당하는 값으로 변경해야 합니다.

데이터 가져오기

데이터베이스에 연결한 후에는 데이터를 가져와서 사용할 수 있습니다. 아래는 데이터베이스의 테이블에서 데이터를 선택하는 예제 코드입니다.

// 데이터 가져오기
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
    panic(err.Error())
}
defer rows.Close()

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

위의 예제 코드에서는 users 테이블에서 idname 열을 선택하여 데이터를 가져오고 처리합니다.

Go 언어를 사용하여 데이터베이스에 연결하는 방법은 여기에서 간단히 살펴보았습니다. 데이터베이스 연결 및 쿼리 실행에 대한 더 자세한 내용은 Go의 공식 문서나 Go 커뮤니티의 자료를 참고하시기 바랍니다.