[go] Go 언어와 데이터베이스의 연동 방법
Go 언어는 빠르고 간결하며 안정적인 프로그래밍 언어입니다. 데이터베이스와의 연동은 웹 어플리케이션 및 시스템 개발에 있어서 중요한 부분입니다. 이번 글에서는 Go 언어에서 일반적인 데이터베이스들과의 연동 방법을 살펴보겠습니다.
PostgreSQL 데이터베이스와의 연동
Go 언어에서 PostgreSQL 데이터베이스와 연동하기 위해서는 database/sql
과 lib/pq
패키지를 사용합니다. 아래는 PostgreSQL 데이터베이스에 연결하고 테이블을 조회하는 간단한 예제 코드입니다.
package main
import (
"database/sql"
_ "github.com/lib/pq"
"log"
)
func main() {
connStr := "user=postgres dbname=mydb sslmode=disable"
db, err := sql.Open("postgres", connStr)
if err != nil {
log.Fatal(err)
}
defer db.Close()
rows, err := db.Query("SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
// Process rows
}
MySQL 데이터베이스와의 연동
Go 언어에서 MySQL 데이터베이스와 연동하기 위해서는 database/sql
과 github.com/go-sql-driver/mysql
패키지를 사용합니다. 아래는 MySQL 데이터베이스에 연결하고 테이블을 조회하는 간단한 예제 코드입니다.
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
"log"
)
func main() {
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
log.Fatal(err)
}
defer db.Close()
rows, err := db.Query("SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
// Process rows
}
MongoDB 데이터베이스와의 연동
Go 언어에서 MongoDB 데이터베이스와 연동하기 위해서는 github.com/mongodb/mongo-go-driver/mongo
패키지를 사용합니다. 아래는 MongoDB 데이터베이스에 연결하고 컬렉션을 조회하는 간단한 예제 코드입니다.
package main
import (
"context"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"log"
)
func main() {
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
client, err := mongo.Connect(context.Background(), clientOptions)
if err != nil {
log.Fatal(err)
}
defer client.Disconnect(context.Background())
collection := client.Database("mydb").Collection("users")
// Use collection
}
마치며
이렇게 Go 언어에서 주요 데이터베이스들과의 연동 방법을 살펴보았습니다. 각 데이터베이스는 고유한 패키지를 사용해야 하며, 연동 방법은 각각 조금씩 다를 수 있습니다. 데이터베이스와의 연동은 실제 프로젝트를 진행할 때 매우 중요한 부분이므로, 각 데이터베이스의 공식 문서 및 예제 코드를 참고하여 실제 프로젝트에 적용해 보는 것이 좋습니다.