[go] Go 언어와 데이터베이스의 연동 방법

Go 언어는 빠르고 간결하며 안정적인 프로그래밍 언어입니다. 데이터베이스와의 연동은 웹 어플리케이션 및 시스템 개발에 있어서 중요한 부분입니다. 이번 글에서는 Go 언어에서 일반적인 데이터베이스들과의 연동 방법을 살펴보겠습니다.

PostgreSQL 데이터베이스와의 연동

Go 언어에서 PostgreSQL 데이터베이스와 연동하기 위해서는 database/sqllib/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/sqlgithub.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 언어에서 주요 데이터베이스들과의 연동 방법을 살펴보았습니다. 각 데이터베이스는 고유한 패키지를 사용해야 하며, 연동 방법은 각각 조금씩 다를 수 있습니다. 데이터베이스와의 연동은 실제 프로젝트를 진행할 때 매우 중요한 부분이므로, 각 데이터베이스의 공식 문서 및 예제 코드를 참고하여 실제 프로젝트에 적용해 보는 것이 좋습니다.