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

Go 언어에서는 여러 가지 데이터베이스와 연동하여 데이터를 조회할 수 있습니다. 이를 위해 Go 언어에서는 다양한 데이터베이스와의 연동을 지원하는 여러 라이브러리가 있습니다. 이번 글에서는 Go 언어에서 SQLite 데이터베이스를 조회하는 방법에 대해 알아보겠습니다.

SQLite 데이터베이스 연결

우선, Go 언어에서는 SQLite 데이터베이스에 연결하기 위해 database/sql 패키지와 github.com/mattn/go-sqlite3 패키지를 활용할 수 있습니다. 먼저, 아래와 같이 이러한 패키지들을 가져옵니다.

import (
	"database/sql"
	_ "github.com/mattn/go-sqlite3"
)

다음으로, sql.Open() 함수를 사용하여 SQLite 데이터베이스에 연결합니다.

db, err := sql.Open("sqlite3", "test.db")
if err != nil {
    panic(err)
}
defer db.Close()

위 코드에서 test.db는 연결할 SQLite 데이터베이스 파일의 경로입니다. 성공적으로 연결되면 db 변수에는 데이터베이스 연결 객체가 저장됩니다.

데이터 조회

이제 Go 언어를 사용하여 SQLite 데이터베이스에서 데이터를 조회해봅시다. 아래의 예제 코드는 users 테이블에서 모든 데이터를 조회하는 방법을 보여줍니다.

rows, err := db.Query("SELECT * FROM users")
if err != nil {
    panic(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    err = rows.Scan(&id, &name)
    if err != nil {
        panic(err)
    }
    fmt.Println(id, name)
}

err = rows.Err()
if err != nil {
    panic(err)
}

위 코드에서 db.Query() 함수를 사용하여 SQL 쿼리를 실행하고, rows.Scan() 함수를 사용하여 조회된 데이터를 변수에 저장합니다. 이후 조회된 데이터를 출력합니다.

마무리

Go 언어에서 SQLite 데이터베이스를 조회하는 방법에 대해서 알아보았습니다. database/sql 패키지와 github.com/mattn/go-sqlite3 패키지를 활용하여 간단히 데이터베이스에 연결하고, 데이터를 조회하는 방법을 살펴보았습니다. 데이터베이스 조회뿐만 아니라, 다른 데이터베이스와의 연동에도 비슷한 방법으로 사용할 수 있습니다.

이는 Go 언어에서 데이터베이스 조회를 위한 기본적인 방법으로, 실제 상황에 따라 다양한 방법과 라이브러리들을 활용하여 데이터베이스 조회를 수행할 수 있습니다.