[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보다 큰 사용자들의 id
와 name
을 가져오는 SELECT 쿼리를 실행한 후, 결과를 출력하는 예제입니다.
마무리
Go 언어를 사용하여 데이터베이스와 연동하는 방법을 간단히 살펴보았습니다. Go 언어는 database/sql
과 각 데이터베이스별 드라이버를 통해 다양한 데이터베이스와의 연동을 지원하므로, 각 데이터베이스의 공식 문서나 온라인 자료를 참고하여 더 자세한 내용을 학습하시기를 권장합니다.
참고 문헌:
- Go 언어 공식 문서: https://golang.org/doc/
- Go 언어 데이터베이스/sql 패키지: https://golang.org/pkg/database/sql/
- MySQL 공식 문서: https://dev.mysql.com/doc/