[go] Go 언어에서 데이터베이스 연동 시 쿼리 실행 예제

Go 언어는 간결하고 강력한 프로그래밍 언어로, 데이터베이스와의 연동을 위한 라이브러리를 풍부하게 제공하고 있습니다. 이번 글에서는 Go에서 데이터베이스와의 연결 및 쿼리 실행하는 방법을 살펴보겠습니다.

데이터베이스 접속하기

우선 Go에서 데이터베이스와 연결하려면, 사용할 데이터베이스에 맞는 드라이버를 import하고, 연결 정보를 설정해줘야 합니다. 아래는 MySQL 데이터베이스에 연결하는 예제 코드입니다.

package main

import (
    "database/sql"
    "fmt"

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

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()
}

위 코드에서 user, password, 127.0.0.1, 3306, dbname 등은 각각 사용자명, 비밀번호, 호스트, 포트, 데이터베이스명에 해당하는 실제 값으로 대체되어야 합니다.

쿼리 실행하기

데이터베이스에 연결했다면, 이제 쿼리를 실행하여 원하는 데이터를 가져올 수 있습니다. 아래는 간단한 SELECT 쿼리를 실행하는 예제 코드입니다.

rows, err := db.Query("SELECT id, name FROM users WHERE age > ?", 18)
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())
    }
    fmt.Println(id, name)
}

위 코드에서는 users 테이블에서 age가 18보다 큰 사용자들의 idname을 가져오는 SELECT 쿼리를 실행한 후, 결과를 출력하는 예제입니다.

마무리

Go 언어를 사용하여 데이터베이스와 연동하는 방법을 간단히 살펴보았습니다. Go 언어는 database/sql과 각 데이터베이스별 드라이버를 통해 다양한 데이터베이스와의 연동을 지원하므로, 각 데이터베이스의 공식 문서나 온라인 자료를 참고하여 더 자세한 내용을 학습하시기를 권장합니다.


참고 문헌: