>  기사  >  백엔드 개발  >  Go 언어 데이터베이스 연결 가이드: 데이터베이스 작업을 수행하는 방법을 단계별로 안내합니다.

Go 언어 데이터베이스 연결 가이드: 데이터베이스 작업을 수행하는 방법을 단계별로 안내합니다.

WBOY
WBOY원래의
2024-01-23 08:33:19436검색

Go 언어 데이터베이스 연결 가이드: 데이터베이스 작업을 수행하는 방법을 단계별로 안내합니다.

Go 언어는 간결하고 효율적이며 배우기 쉬운 비교적 초보자 친화적인 프로그래밍 언어입니다. 개발자로서 데이터베이스를 연결하고 운영하는 것은 일상 업무에서 필수적인 부분입니다. 이 기사에서는 Go 언어를 사용하여 데이터베이스에 연결하는 방법을 보여주고 몇 가지 구체적인 코드 예제를 제공합니다.

먼저 Go 언어의 데이터베이스 드라이버를 가져와야 합니다. 현재 Go 언어는 MySQL, SQLite, PostgreSQL 등과 같은 다양한 데이터베이스를 지원합니다. 필요에 따라 적절한 드라이버를 선택할 수 있습니다. 이번 글에서는 MySQL을 예로 들어보겠습니다.

먼저 Go 언어 프로젝트에서 MySQL 드라이버 패키지를 가져와야 합니다. go.mod 파일에 다음 코드를 추가할 수 있습니다.

require github.com/go-sql-driver/mysql v1.7.0

그런 다음 다음 코드를 통해 MySQL 데이터베이스와 연결을 설정할 수 있습니다.

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

func main() {
    // 数据库连接信息
    username := "root"
    password := "123456"
    host := "127.0.0.1"
    port := "3306"
    database := "example"
    
    // 建立数据库连接
    connectionString := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local",
        username, password, host, port, database)
    db, err := sql.Open("mysql", connectionString)
    if err != nil {
        log.Fatal(err)
    }

    defer db.Close()
}

위 코드에서는 database/sql包和github.com/go-sql-driver/mysql包。sql.Open()函数用于建立与MySQL数据库的连接,其中第一个参数是驱动名称,第二个参数是连接字符串。如果连接数据库时发生错误,我们将使用log.Fatal() 함수를 사용하여 오류 정보를 인쇄하고 프로그램을 종료하세요.

데이터베이스 연결이 성공적으로 설정되면 다양한 데이터베이스 작업을 수행할 수 있습니다. 다음은 몇 가지 일반적인 데이터베이스 작업 예입니다.

  1. 데이터 쿼리:
rows, err := db.Query("SELECT * FROM users")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    err := rows.Scan(&id, &name)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name)
}
  1. 데이터 삽입:
stmt, err := db.Prepare("INSERT INTO users (name) VALUES (?)")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()

res, err := stmt.Exec("John")
if err != nil {
    log.Fatal(err)
}

lastID, err := res.LastInsertId()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Inserted ID:", lastID)
  1. 데이터 업데이트:
stmt, err := db.Prepare("UPDATE users SET name = ? WHERE id = ?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()

res, err := stmt.Exec("John Doe", 1)
if err != nil {
    log.Fatal(err)
}

affectedRows, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Affected Rows:", affectedRows)
  1. 데이터 삭제:
stmt, err := db.Prepare("DELETE FROM users WHERE id = ?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()

res, err := stmt.Exec(1)
if err != nil {
    log.Fatal(err)
}

affectedRows, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Affected Rows:", affectedRows)

위 코드는 일부 기본 데이터베이스입니다. 작동 예. 실제 개발에서는 더 복잡한 쿼리와 트랜잭션 처리가 필요할 수 있습니다. 그러나 위의 예를 통해 Go 언어를 사용하여 데이터베이스에 연결하고 몇 가지 일반적인 데이터베이스 작업을 수행하는 방법을 이미 이해했습니다.

요약하자면, 이 글에서는 Go 언어를 사용하여 MySQL 데이터베이스에 연결하는 방법을 자세히 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. Go 언어 개발에서 데이터베이스를 연결하고 운영하는 데 도움이 되기를 바랍니다. 궁금하신 점이나 혼란스러운 점이 있으시면 아래에 메시지를 남겨주시면 최선을 다해 답변해 드리겠습니다. 행복한 공부가 되기를 바라며 우아하고 효율적인 Go 언어 코드를 작성해 보세요!

위 내용은 Go 언어 데이터베이스 연결 가이드: 데이터베이스 작업을 수행하는 방법을 단계별로 안내합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.